Webhook refactor (WIP) to make webhooks more pluggable

TODO:

- [x] refactor github tests to look like the ones found [here](https://github.com/martini-contrib/auth)
- [x] refactor travis tests too
- [x] add tests for `webhook.DockerBuild`
- [x] add auth for travis
- [x] add auth for github
- [ ] add documentation
- [ ] final sign-off
This should be `travisToken`