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
remove unwanted `to_sym` call.
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
Replace double quotes with single quotes while adding an entry into Gemfile
stop hardcoding path_parameters and get it from the request
skip the build business if the stack is empty
Remove `require 'active_support'` from individual modules

Let users require `active_support` before loading any ActiveSupport modules
http://guides.rubyonrails.org/active_support_core_extensions.html