issue #15 : parse upstream gem locally available

Fixes regression where :gem parameter to Polisher::Gem.parse
was no longer being handled.

Now if local gem is specified, metadata will be parsed / extracted
from it as w/ the other cases
Split RPM::Spec and RPM::Requirement into seperate modules

Specs still work though should be split up there
Implement diff -> rpmspec formatting mechanism (work in progress)

Also contains small fixes to gem / gemfile diff operation to
tidy up output and handle edge cases