parse X-GitHub-Event header, ignore ping messages

When a hook is set up now, GitHub sends a ping message.  Handle it
quietly without error.  Return failure if an unknown or missing event
type is passed in.

This fixes KeyError: 'action' messages in the log and 50x responses to
GitHub.