Fix Url relative constructor.

Actually get the query from the base URL.
Fix bugs identified by the testsuites

* Handle resolving . and .. in path properly
* Make the subtle distinction between empty and unset for the authority,
fragment and query.
Add some tests derived from Ruby Addressable

They have a very complete testsuite, but not all of it is relevant to
us. Pick some of the interesting tests for now.
Remove some redundant fields

These were getting out of sync and causing trouble, and they are easy to
compute from existing information.

Fixes some problems detected by the testsuite where the user/password or
the host would sometime disappear from the URL.
BRegion: Style fix, update parameter name

No functional change.

Trying to indentify each kind of object uniquely and consistently.

... update docs as well.
Docs: Put a comma in Haiku, Inc. in the copyright.
updates a few hybrid packages.
HttpAuthentication: improvements and fixes

 * BString::CopyInfo() takes length as second
   parameter, not the end-offset. This bug didn't
   have any effect, since BString clamps the length.
 * ',' is a comma, ':' is a colon.
 * When parsing "additionalData" in the loop for
   name=value pairs, an empty name is not useful,
   continue the loop early.
 * "value" may have the length 0, accessing it
   with value[0] would not lead to an access violation,
   since it just reads the terminating zero (I think),
   but it's nicer if the code makes it clear that
   value being empty is considered.
 * _H() was using a static buffer, in a heavily
   multi-threaded situation. I don't think this was
   healthy.
 * Implement the proposed optimization of using
   BString::LockBuffer(). Appending one char at a time
   is really bad for peformance. The Base64 encoding/decoding
   should really be rewritten as well for similar reasons.