Use `help` instead of `to_s` to represent the schema's help text

The previous method for storing help was in the object's default serialized
representation. Much more appropriate, used here, is a different method
called `help`.

For https://tickets.puppetlabs.com/browse/RAZOR-272
Add CLI example capability

In order to support examples that are customized for the command line client
interface, we need to build out a more robust format for the help texts
stored on the server. The help for each command now includes several pieces:
- "full" is still present to support older clients
- "summary"/"description"/"returns"/"examples"/"schema" added for each
component
- "examples" is a nested object: "api" and/or "cli" can be present

Clients (namely the CLI) should display these attributes if present in the
help text's JSON.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-272
Translate API help examples into CLI help examples

The help examples that currently exist are only for direct API calls, or for
sending a JSON file for a command. This change translates the existing
examples into a CLI format, which will be available alongside the existing
API examples.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-272
Use brokers in Windows installs

In order to have operational Powershell brokers in Windows, proper hooks need
to be in place to download and execute the file right before the user is
able to log into the system. This commit achieves that by having
the Windows installer download the file from the server and register a
service to run the file on boot.

Included in this commit are translations of the no-op broker and the PE
broker. The latter requires a valid URL to the puppet agent MSI, which is
either derived from the `version` parameter, or supplied directly by the
broker's config.

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