Refactor to split queries and commands

This is a structural change in code that will enable
flags to be passed after queries of collections.

For https://tickets.puppetlabs.com/browse/RAZOR-382

This also moves `--full` and its counterpart `--short` to
apply to the collection/navigation via e.g.
`razor nodes --full`.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-382
Use in-place navigation flags for `limit` and `start`

Previously, all flags needed to be at the start of the command,
right after `razor`. This would not be intuitive for adding
`limit` and `start` features, since `razor --limit 1 events`
makes less sense than `razor events --limit 1`.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-382
Move `--full` and `--short` after collection

Previously, all query flags needed to be right after
`razor`, e.g. `razor --full events`. This moves
these query flags to their more natural position,
right after the collection navigation, i.e.
`razor events --full`.

For https://tickets.puppetlabs.com/browse/RAZOR-382
RAZOR_API URL must start with http: or https:

Issues were arising from URLs that do not contain
the protocol at the start. This resulted in an
"opaque" message when trying to do navigation
and pass query parameters. URLs passed by -u
or --url will result in an error if they do not
start with the protocol.

For https://tickets.puppetlabs.com/browse/RAZOR-382
Strip query parameters from additional details

When the user types a query that includes query parameters,
e.g. --limit or --start, these showed up in the additional
details displayed in this client. This suppresses those.

For https://tickets.puppetlabs.com/browse/RAZOR-382