Improve "Unauthorized" error message

When authentication is enabled on the server and credentials are not supplied on the client, the error message should advise the user to supply credentials. This previously resulted in a misleading error that it could not connect to the server. Also reformatted error strings for legibility.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-175
* lib/razor/cli/navigate.rb (move_to): do not convert keys that look like ints

The code was converting a key that looked like an integer to an integer,
solely based on whether that conversion could be done or not. That is wrong
for several reasons, most importantly because the data type of what we
compare the key against in the documents received from the server does and
should not depend on whether something can be represented as an integer or
not.

In the code that used the converted key, it was used to either find an
entry in an array of hashes where the 'name' property of the entry matches
the key, or to retrieve an entry from the (Hash) document we are working
on. In both cases, what we compare the key to must be a string; if it is
not a string, that's a violation of the API contract, and the client's
behavior just glossed over that.