Tightens exception handling for Github Webhooks.

Checks to see if the Github Webhook request being processed is actually
of type 'push' before trying to process the request payload. The structure of
each type of Github Webhook differs and processing will fail.

Improves exception message when payload is not found and urges the
client to check the payload version on the Github Webhook to allow
easier debugging.