Add APISet#pretty_print
Complete Resolver::Conflict documentation
Add APISpecification#pretty_print

This removes display of the APISet in favor of its dependency URI only
which removes some information but greatly reduces output.
Improve Conflict#explanation

Previously the conflict explanation had only the failed dependencies
path.  This limited the amount of information the user could provide
about the conflict if there is a bug in the resolver.

Now both the activated path and the conflict path are shown in the
message.
Refactor Conflict#activated_path into request_path

This eliminates duplication between the two methods, and #request_path
now requires an ActivationRequest argument.