Add #716 to History
Fix File.exist? warning from #716

This is a new warning in Ruby 2.1.0 which wasn't released when this pull
request was made.
Rename Package::GemSource to Package::Source

I don't like extra "Gem"s in class names.
Extract Package::FileSource to its own file
Add new tests to Manifest
Fix private attribute warning

I guess this warning is new in ruby 2.1.0, so it was missed in #716
Extract Package::IOSource to its own file
Extract Gem::Package::Source to its own file
Fix Gem::Package::Source subclass names

I forgot to prefix them with Gem::Package, oops!