Add new fields to web_hooks table.

Next fields were added:
* push_events
* issues_events
* merge_requests_events

Main goal is to create web hooks that can be triggered only for certain
event types. For example you can have separate web hook for push events
and another one for issues.

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
UI with event types for Project WebHooks

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Prepare ProjectHooks to work with issues and merge_requests

* Add event scopes to ProjectHook
* Added Issuable#to_hook_data
* Project#execute_hooks now accept hook filter as argument

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Execute project hooks when issue or merge request created

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Modify test to pass new project hooks

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Annotate web_hooks table

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Update WebHook help page

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Improve help page for Project web hooks

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Mention advanced project hooks in CHANGELOG

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Expose ProjectHook attributes via API

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Extract tests for project hooks API

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
ProjectHook API supports new event fields

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Merge branch 'feature/event_hooks' of /home/git/repositories/gitlab/gitlabhq