Added rubygems push API compatibility

This adds support for Rubygems' POST /api/v1/gems API endpoint, so that the standard `gem push` works seamlessly against a geminabox server. This should include plugins like gem-release etc.

Note that I haven't added any new tests for this yet. All the real code is already exercised by the integration tests since it is shared with the existing upload functionality. The whole tar is also read into memory which isn't ideal -- maybe someone has ideas on how to avoid that. If the functionality in this PR is wanted I can try to address these two issues.