Better GitHub event handling

- Event comes in via the X-GitHub-Event header; use that to determine
  which payload we're using.
- Tags come in via the "create" event.
- Only rebuild on push if against master.