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.

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