used user-defined configurations for running tests that might depend on user's system configuration
Install bundle gems to the system not to vendor/bundle

Rubinius has problems with bundling when shared gems are disabled (ie.
when --path or --deployhment is used). There is no real reason to
install it with --path on TravisCI, so I'm dropping it.
Fix method redefined warning message in mapper.rb
Fix Encoding::CompatibilityError when public path is UTF-8

In #5337 we forced the path encoding to ASCII-8BIT to prevent static
file handling from blowing up before an application has had chance to
deal with possibly invalid urls. However this has a negative side
effect of making it an incompatible encoding if the application's
public path has UTF-8 characters in it.

To work around the problem we check to see if the path has a valid
encoding once it has been unescaped. If it is not valid then we can
return early since it will not match any file anyway.

Fixes #13518
raise `ArgumentError` exception if `Model.where.not` is called with `nil` argument
Merge pull request #13534 from kuldeepaggarwal/f-where-not

raise ArgumentError for nil in .where.not
Merge pull request #13527 from kuldeepaggarwal/f-independent-specs

Use user-defined configurations in mysql tests
Extract db url connection logic to class
Merge pull request #13535 from schneems/schneems/extract-url-logic

Extract db url connection logic to class
Revert "Install bundle gems to the system not to vendor/bundle"

This reverts commit 875dd3edfd34eaa20120b6589b0d1905230e948f.

The issue was fixed in rbx-2.2.3
Remove deprecation warning for FIXTURES_PATH

FIXTURES_PATH has a bit different case than DatabaseTasks.fixtures_path,
which was added along with deprecation. A use case for FIXTURES_PATH
could be loading fixtures from a different directory just for a given
test run. The implementation is fairly simple, so leaving it as it is
won't hurt.
Add a missing changelog entry for #13534 [ci skip]
Merge pull request #13538 from robin850/patch-14

Add a missing changelog entry for #13534 [ci skip]
tidy AR CHANGELOG. [ci skip]
Update explanation to match example
Merge pull request #13539 from StevenNunez/patch-1

Update explanation to match example [ci skip]
[ci skip] ConnectionSpecification::Resolver Docs

Document the internal interfaces of `ConnectionSpecification::Resolver`

Change method name from `config` to `env` to better match the most common use case.
Merge pull request #13536 from schneems/schneems/connection-spec-docs

[ci skip] ConnectionSpecification::Resolver Docs
Allow "url" sub key in database.yml configuration

Currently a developer can pass in a YAML configuration that fully specifies connection information:

```
production:
  database: triage_production
  adapter: password
  pool: 5
```

They can also pass in a string that specifies a connection URL directly to an environment key:

```
production: postgresql://localhost/foo
```

This PR allows the use of both a connection url and specifying connection attributes via YAML through the use of the "url" sub key:

```
production:
  url: postgresql://localhost/foo
  pool: 3
```

This will allow developers to inherit Active Record options such as `pool` from `&defaults` and still use a secure connection url such as `<%= ENV['DATABASE_URL'] %>`. The URL is expanded into a hash and then merged back into the YAML hash. If there are any conflicts, the values from the connection URL are preferred. 

Talked this over with @josevalim
Merge pull request #13541 from schneems/schneems/db-url-sub-key

Allow "url" sub key in database.yml configuration