When using multiple slashes in URLs, normalization caused them to be combined
into a single slash. This commit fixes that issue to work exactly how Chrome
handles these types of URLs. Closes#713.
- Removing getConfig() and setConfig() from clients to avoid confusion around
whether things like base_url, message_factory, etc should be able to be
retrieved from getConfig() or modified using setConfig().
- Adding getDefaults() and setDefaultValue() to customize default request
options of a client.
- Updating Url class to check if a scheme and host are set before adding
":" and "//". This allows empty Url (e.g., "") to be serialized as "".
- Removing dead code from Url class.
- Adding a functions.php function for get_path and set_path so that these
functions can be used on regular PHP arrays. Collection now proxies to these
functions when Collection::(get|set)Path() is called.
- Resolves#599.