[WIP] STI foreman provider

This creates the models to be used for creating the foreman configuration provider.



This feels like it needs a lot more.
Did I miss anything?
/cc @gmcculloug @brandondunne 
A host group (`configuration profile`) optionally defines a ptable, and media (list of `customization script`s).
When the user chooses a host group, we use these as default values. If not, we use the operating system flavor to determine the entries to present to the user.

We need this.
Not necessarily in the current form.
individual `ptable` and `media` ids work (or strings)
This generalization definitely makes programming the ui more difficult.