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
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
push is_a check up to where the Constraints object is allocated
a redirect is not a dispatcher by definition, so eliminate test
we do not need to cache rack_app
stop hardcoding path_parameters and get it from the request
skip the build business if the stack is empty
rake railties:install:migrations respects the order of railties

This PR fixes #8930 and some stuff from #8985
Merge pull request #14834 from al2o3cr/issue14155

Correctly alias table names when joining more than once
Require active_support at the railties

Railties need to be used without having to require any dependecy first.