Add support for nested query parameter in DATABASE_URL. Fix #9896.

Closes #9896.

We often need to pass driver specific properties to JDBC adapter.

```ruby
development:
  adapter: postgresql
  ...
  properties:
    name: value
```

But ENV["DATABASE_URL"] can't pass such properties for same purpose. For example

```ruby
abstract://foo:123?encoding=utf8&properties%5Bname%5D=value
  or
abstract://foo:123?encoding=utf8&properties[name]=value
```

[BTW] my first version for this problem was 0ec6bc58d3d2149ac296496a04d7ceafe23f6067. But I thought AR shouldn't depend on `rack`