Improve Gem::Specification pretty print

Now the name and version are at the top where they're easier to read.
Fix conflict resolution for toplevel dependencies

When a conflict for a user-specified dependency was encountered in
DependencyResolver#handle_conflict the resolver would crash as no
requester was available.

Now we use the original dependency for the conflict as that is the only
one available.

I think @evan should review this change.