Allow fully-yanked gems to be unyanked by the original owner

This still allows for a new user to swoop in and claim the gem by pushing their own version. Doing so would delete the previous ownership.
Refactor to yank a version directly rather than through its gem
Patch existing find_or_initialize_version_from_spec to make size an optional parameter.
size_in_kilobytes -> number_to_human_size
Change to cleaner syntax.
Add size to versions.
brought Chris's patch up to date and added a script to calculate sizes for existing gems
cleaned up Version#size interface
smoothed out size interfaces in Pusher and Rubygem
Add Badge link to Rubygem pages
Merge branch 'master' of git://github.com/rubygems/rubygems.org
Add test for badge_link helper
Fixed potential JSON injection by using #to_json.
Always dump Strings, never try quoting them.
Use public_send over send.
Moved erb.png into doc/
Merge branch 'master' of git://github.com/rubygems/rubygems.org
Remove unnecessary group by all columns

Signed-off-by: João Soares <jsoaresgeral@gmail.com>
Add model helpers to fetch reverse dependency gems

These helpers provide a way to collect versions or rubygems which depend
on a specific rubygem. They can be used to query the database for all the
gems which contain a given dependency.
Reuse a helper method to dry the code