Allow `conform!` in commands

In order to change the client=>server API, there needs to be some backwards-compatibility in effect. This `conform!` capability will allow a command to decide which data mutations it can perform on its data before running its validation.
Add `element` and `references` to array validation

In order to facilitate some shorthand syntax (`["abc"] => [ {"name": "abc"} ]`), arrays will need to hold datatypes besides just objects and also assure relational integrity. The type `element` (aliased as `elements`) will be used to denote a basic datatype in an array. `references` will work like it does for hash.
Allow shorthand in `create-policy` command

Create Policy is a representative example of the shorthand involved. This converts create-policy attributes `repo`, `task`, `broker`, and `tags` to no longer need an object/hash with just the "name" property defined. In order to preserve backward-compatibility, this command now overrides `conform!`. The method upgrades commands written in the old syntax to the new syntax.