Refs #969 - Proxy-side changes for serving templates from the proxy

An update to @GregSutcliffe's original PR (https://github.com/theforeman/smart-proxy/pull/100/files). Ports his original feature to the new plugin api.
Indeed. For clarity, it's because hosts on a private provisioning network may have a different name/ip to contact the proxy than the one Foreman knows about. eg
```
host -- 10.1.1.0/24 -- proxy -- 172.20.10.0/24 -- foreman
foreman talks to proxy.company.lan on 172.20.10.5
host talks to proxy.provision.company.lan on 10.1.1.1
```
So we can't simply make this a Setting in the UI - the proxy itself must be responsible for declaring where the hosts should get templates from. Foreman can then use this info in `renderer#foreman_url` to return an appropriate template to the host (via the proxy).

Dustin, can you add an abbreviated form of the above to the PR?