Make ChefZero aware of load balancers

We have some complex reasons to hide a ChefZero behind an SSL nginx proxy.
One problem that suddenly arose with this is that URLs returned by
posting to /environment/foo/cookbook_versions use the protocol of the
internal webrick which is always plain http. This causes the chef client
to retrieve these urls on the https port but with an encrypted payload.

Support this situation by using the HTTP_X_FORWARDED_PROTO CGI variable
if it is available.