Added partial days support to `DateTime`'s `advance` method.

You can now add partial days (e.g. 2.5.days) to `DateTime` with the advance method.
This was acheived by mimicing the `advance` implementation in `Time`.
Fixed changelog
WIP: pass existing joins to construct_join_dependency
Merge pull request #15210 from arthurnn/fix_hbtm_reflection

Fix habtm reflection
Conflicts:
    activerecord/CHANGELOG.md
    activerecord/lib/active_record/counter_cache.rb
    activerecord/lib/active_record/reflection.rb
    activerecord/test/cases/reflection_test.rb
Use .to_s on _reflections lookup
Skip if the association was already loaded.
Always construct route objects with Constraint objects
push is_a?(Dispatcher) check in to one place
eliminate dispatcher is_a checks
Constraints#app should never return another Constraints object, so switch to if statement
Call get_routes_as_head only on HEAD requests.
one fewer is_a check
nothing is passed to `rack_app` anymore, so rm the params
pass a request to `matches?` so we can avoid creating excess requests
pass the request object to the application
Rename Posts to Articles in Guides' Getting Started App, continuation of #15215 [ci skip]
print generators on failed generate

Let's say we just ran:

```
$ rails g migrate add_click_to_issue_assignment
```

We will get an error that looks like:

```
Could not find generator migrate.
```

This patch adds all existing migrations to the output to make it easier for a developer to find a valid migration.

```
Could not find generator "migrate". Please select a valid generator:
Rails:
  assets
  controller
  generator
  helper
  integration_test
  mailer
  migration
  model
  resource
  scaffold
  scaffold_controller
  task
```


It would be nice to do some spelling detection and suggest alternatives, but for now this should  help.
remove unwanted `to_sym` call.
Refactor the type casting of booleans in MySQL
Merge pull request #15339 from sgrif/sg-mysql-booleans

Refactor the type casting of booleans in MySQL