Slack Support

Hi,
I've added Slack webhook support. I needed to make a few changes to better support different hook types. In addition, I fixed one existing bug that caused all webhooks to be updated when updating a single webhook (first commit).

Please let me know if you see any changes needed.

Closes #292 

Once this is merged, I have another PR to submit to allow comparing two different commit sha1s (one of the TODOs in here)

This case can be deleted because Gogs is the `default`.