Add support for custom HTTP predelivery callbacks
Add support for custom HTTP predelivery callbacks

This approach will allow us to define last minute callbacks before
performing the HTTP delivery to webhook consumers. Now in the webhook
application that relies on github-services, we can do something like
this:

```ruby
service = Service::Web.new

if webhook.needs_signed_header?
  service.before_delivery do |url, payload, headers, params|
    signature = public_key.sign(message: payload)
    headers['GITHUB-PUBLIC-KEY-SIGNATURE'] = signature
  end
end
```

github/github-services,galeksandrp/github-services,github/github-services,galeksandrp/github-services