add multiple domains reverse proxy support

Add support for a reverse proxy that handles multiple domains via different
web roots (http[s]://proxy.tld/domain.tld/owncloud).

As the reverse proxy web root is transparent for the web server the
REQUEST_URI and SCRIPT_NAME need manual adjustments. This patch replace
the direct use of this _SERVER variables with function calls and extend
this functions to overwrite the web root. Additionally it adds a Sabre
request backend that extends the Sabre_HTTP_Request to use the same
functions.
add SSL proxy support

Add support for a reverse proxy that only forwards SSL connections
unencrypted to the web server.

This patch allows to detect the reverse proxy via regular expression for
the remote IP address and conditional overwrite the host name, protocol
and web root.