In Horizon, in the instance details tab, I want a tab called 'Puppet Roles.' That will display a structured gui:
```
[] First role
param1: [ text field ]
param2: [ text field ]
param3: [ text field ]
param4: [ text field ]
[] Second role
param1: [ text field ]
param2: [ text field ]
...
> Advanced roles (puppet experts only)
===========
-- THESE ROLLS ARE SET BUT NO LONGER EXIST IN PUPPET --
[x] deprecated role 1
param1: label
...
===========
> Free-form heira (for puppet experts only)
```
The set of available roles will come from a direct query on the puppetmaster. A select set of designate roles will appear expanded, the rest of the roles will be under the 'expert' disclosure. A free-form hiera .yaml field will also be available, also undisclosed by default.
Getting/setting node-specific roles will happen via a to-be-written REST API. See https://etherpad.wikimedia.org/p/puppet-enc-labs for details on the API.
That API will be implemented via a custom ENC and some hiera magic.