We don't execute web hooks when:
* You create a new branch. Make sure you first create the branch, and then push any commits. This is the way Github works, so its expected behavior.
* When tags are pushed.
This commit includes:
* Projects can have zero or more WebHooks.
* The PostReceive job will ask a project to execute any web hooks defined for that project.
* WebHook has a URL, we post Github-compatible JSON to that URL.
* Failure to execute a WebHook will be silently ignored.