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
Merge branch 'master' of git://github.com/rubygems/rubygems.org
Bump to 2.0.4
Merge remote-tracking branch 'gnarg/master' into size

Conflicts:
	app/models/pusher.rb
	db/schema.rb
	features/push.feature
	test/unit/pusher_test.rb
Revert "Remove unnecessary group by all columns"

This reverts commit b7dd57be0332acd088b2b95a13ca32a69302aec1.
Sort out some failing tests and gaps in tests
Disable unstable test
Merge pull request #507 from gemfury/master

Add Badge link to RubyGem pages
Merge pull request #467 from rubygems/unyank-by-owner

Allow last version unyanking by original owner