Takes the relative URL and combines it with the base URL to return a new absolute URL.
If the relative parameter is an absolute URL, returns it instead.
As described in section 5 of
rfc2396.
This implementation relies heavily on
URL
. As thus, the same restrictions apply, especially regarding encoding.
"The URL class does not itself encode or decode any URL components according
to the escaping mechanism defined in RFC2396. It is the responsibility of the caller
to encode any fields, which need to be escaped prior to calling URL, and also to decode
any escaped fields, that are returned from URL."