Use X-Forwared-For when behind reverse-proxy

Allow the use of [X-Forwarded-For](http://en.wikipedia.org/wiki/X-Forwarded-For) if the header exists to allow reverse-proxies and loadbalancers to be set up in front of a bcfg2-server.

So far this diff only applies to the Builtin core. I could investigate applying it to the others as well, if there's interest in this PR.
If there's an X-Forwarded-For header, and proxying is disallowed (for whatever reason -- a single host disallowed or all proxying disallowed), I think we need to produce a sane error, for two reasons:

* It will make it easier to troubleshoot proxying;
* It will avoid any possibility of sending the configuration for one box to another.  For instance, if box A requests its configuration via box B, which is not allowed to proxy, if we assume that this is just box B requesting its own configuration with an erroneous X-Forwarded-For, then in the end we return box B's configuration to box A, which is Bad.