This provides the structs needed to unmarshal the "old-style" post
receive hooks that are sent for push events. Because the formats
differ in sometimes subtle ways from the rest of the API, some types are
duplicated. I suspect we may also need to duplicate the Repository
type at some point, since there are some differences there as well. For
now this is just using the normal Repository type.
Thanks to both @wlynch92 and @imjasonh who kept pushing on this and
provided the original patches that this is based on.