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
Remove unnecessary flatten! method call.
The correct status to test should be :switching_protocols.
Convert source to string if it is present.
Merge pull request #15311 from zuhao/refactor_actionpack_bare_metal_test

The correct status to test should be :switching_protocols.
Merge pull request #15312 from JuanitoFatas/action_view/asset_path

Convert source to string if it is present.
[ci skip] Update GFM link in guides guidelines.

Also remove a duplicated sentence.
Merge pull request #15315 from JuanitoFatas/guides-guidelines

[ci skip] Update GFM link in guides guidelines.
Fix test cases for inflector.rb
`yield` was missing in #with_dup, due to which 57 assertions were not running
in real, and all tests were passing by default.
Error was introduced in commit - 31ceb5e.
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