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.
I think either is a bit of a stretch here. I wonder if 500 is more appropriate? As for 403 ('Forbidden') vs. 404 (rfc2616): "If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.".

The way I'm reading this is that if there's a reason (other than wrong url) why a certain url can not be accessed, 403 is more appropriate.