Allow powershell (& other arbitrary) install files inside a broker type

Windows machines, being unable to run Bash files, will need an alternative
file format for each broker. In order for a broker to receive a different
install file, its task needs to call
`/svc/broker/${id}/install?script=${file}`, where `$id` is the node id and
$file is the file that should be returned. For powershell, `$file` will equal
`install.ps1` and the file in the `.task` folder will be `install.ps1.erb`.
Calling this without the `script` argument is equivalent to calling it with
`script=install` for `install.erb`, meaning this is a backwards-compatible
change.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-355