Replace confusing quotes in exception with inspect
Add pretty_print for InstallerSet

Add always_install to #inspect as it was missing
Separate lines for readability
Add missing "then"
Use string platform for resolver specifications

When looking up specifications the resolver sets expect string
platforms.

For a local gem the parsed platform was available and used for looking
up the specification.  The specification was stored with a string
platform which meant the gem was not available (causing an exception).

Now the IndexSpecification always uses the string version of the
platform to prevent this bug.

Fixes #664
Add functional test for #664

I think the test for #664 is insufficient to prevent recurrence of the
bug.  This test uses the same operations as the resolver to help ensure
a regression does not occur.