Add DSN parsing to StaticConfigTrait
Switch from `dsn` to `url`

The rails framework uses the same key when specifying resources as urls, and as `dsn` is already used internally by datasources, it makes sense to switch to another, more descriptive name.
Fix doc comment variable reference
Update doc comment
Add support for null values
Set config argument default value to null
Add support for cases where the scheme is not a useful value - such as the Log class

In the case of the Log class, the `scheme` maps roughly to a className value, though we need a valid string in order for parse_url to return correctly.
Use upper-case DSN everywhere
Remove extra single quote
Standardize on setting 'username' and 'password' keys

CakePHP users a variety of names for these keys internally, though the most widely recognized are the above, so it makes sense to standardize on them.

Note that we remove the `user` and `pass` key from the $parsed config instead of the $config as it is possible to have them in a querystring argument.
Simplify usage of parseDsn

parseDsn can now be used mostly out of the box by all classes using the StaticConfigTrait - with the exception of ConnectionManager, as noted below. Unless they are otherwise specified, the `scheme` of the DSN is set as both the `className` and `driver`. As such, the preferred method for usage in your application would be:

    Fully\Namespaced\ClassName://username:password@host:port/path?query=string&args=here&driver=Some\Other\Class\Name

This commit drops support for `scheme+Namespaced\ClassName\As\Driver`, simplifying the underlying logic a bit.

For the ConnectionManager class, Drivers still need to transform the path into a database_name, and as such we cannot use the trait method as is.
If the value of `dsn` fails to be parsed, return the original config as is.

Malformed DSNs may result in false being returned from `parse_url`, breaking further logic. As we do merges of the original config and the parsed DSN arrays, the logic is short-circuited to provide a similar pathway.
Remove the use of PDO Driver-specific DSNs in favor of PEAR::DB-style DSN usage
Switch to double-quotes in an attempt to avoid "missing terminating ]" errors
Use proper index for driver name
Fix driver and className setting on parsed DSNs
Allow using triple forward slashes for all passed DSN values

For legacy purposes, PHP allows triple-forward slash only for URLs beginning with "file:///". However, this notation is useful in other cases - for instance, when the defaults for a config are enough - and thus overriding the scheme to `file` allows this to be standard behavior.
Only allow querystring arguments to be processed as NULL, TRUE, and FALSE constants
Do not pass the scheme - which will now be incorrectly set to "file" - upstream
Ensure querystring arguments override all other configuration values - useful when setting the path as a querystring arg instead of in the normal path variable