Fetch and use command argument datatypes from server

To increase the flexibility of the client, the datatype for each argument in each command should be retrieved from the server, rather than held locally. Since the `navigate.yaml` file is being deleted, the client will throw an error if the server has not updated to provide the expected datatype for each argument.

Note: This required a re-recording of the VCR specs, since it issues a second GET for detailed command information. It was a good opportunity to add `testing.md` to supply best practices with writing spec tests with VCR.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-216