Milestone 4 of #57 (#115): gh release list, view, create, upload,
download, delete-asset, edit and delete work against Ghost.
- REST releases and release assets as on GitHub, with the upload_url
served under /api/uploads as on GitHub Enterprise, and
DELETE /git/refs for heads/ and tags/
- GraphQL Release, repository.releases and repository.release(tagName:)
- numeric_id on release and release_asset, plus an asset label and
updated_at (migration 0055)
- ReleasesService pages by offset, reads by id and deletes tags;
ReleaseAssetsService labels, renames and downloads by id
- Body parsers skip /api/uploads so assets of any type stream intact
- The gh suite takes a fresh API key per test, staying under the
per-key rate limit; fixtures recaptured
- Compatibility docs list the commands, routes and differences