More thorough validation for GitHub payloads
Summary:
Any GitHub payload must have:
- a X-Github-Event header
- a X-Github-Delivery header
- a payload, JSON deserializable as an object
A 400 Bad request error is sent if this is not the case.
Test Plan: Send a Phabricator request to /gate/GitHub/ProjectWithoutSecret
Reviewers: dereckson
Subscribers: alken-orin
Maniphest Tasks: T695
Differential Revision: http://devcentral.nasqueron.org/D262