Fix undefined method to_query for Hash

When cherry-picking `active_support/core_ext/object/to_param` in 4.1.*,
we still see an undefined method to_query for hash unless we also pull
in `.../to_query`.

This was resolved on master in c420a8da, so this is exclusively a
backport of "Move to_param to to_query, also Improve tests" based on the
Active Support Core Extensions guide's [Cherry-picking a Definition]
section.

[Cherry-picking a Definition]: http://guides.rubyonrails.org/active_support_core_extensions.html#cherry-picking-a-definition
Merge pull request #16411 from calebthompson/backport-param-changes

Fix undefined method to_query for Hash