Bug fix Gem::Version.create

Do not assume an object is of type Gem::Version just because it responds to
:version
Fix test for Gem::Version.create change

Test changes due to intentional code behavior change.

The comment "FIX: For "legacy reasons," any object that responds to +version+ is
returned unchanged. I'm not certain why." is no longer applicable as I removed
that functionality in my previous patch. I was not certain why either :)

Instead objects of type Gem::Version are simply not cast by Gem::Version.create.
Compare self, not self.class to input

Fix bug in my patch cought by the test. Per drbrain.
Since this is a class method self.class is Class, which is unhelpful.
Added #674 to History
Move #674 backport to the next release

The cherry-pick placed the message in the wrong spot.