Provide expected argument datatype for commands

In order for the client to know how to format data for arbitrary commands, the server needs to provide this information. This includes the expected JSON datatype as interpreted from the validation framework.

There's one case where `create-policy` is using the `conform!` method to provide alias functionality. That needs to be included in the JSON too, so this alias functionality has been added to the framework. For now, this `alias` feature only exists to provide accurate argument datatype metadata.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-216