Pass connection rather than alias_tracker

Because we're only using the `connection` so passing the entire tracker
isn't unnecessary.

Eventually only the `connection` will be passed to `add_constraints`
with later refactoring but curretly that's not possible because of
`construct_tables` method.
Merge pull request #18019 from eileencodes/pass-connection-rather-than-alias_tracker

Pass connection rather than alias_tracker
ParameterFilter shouldn't try to dup symbol keys
allow URL helpers to work with optional scopes
Merge pull request #18021 from nateberkopec/fix-filter-param-symbol-dup

ParameterFilter shouldn't try to dup symbol keys
Merge pull request #18022 from agrobbin/url-helpers-optional-scopes

Allow URL helpers to work with optional scopes
Re-enable capture'ing non-String values

This has been discussed in #17661 and partially reverts the changes made
in 9de83050d3a4b260d4aeb5d09ec4eb64f913ba64 and 986cac73e3c56b3dfa22fd1464f6913e38d32cc3

The test case added to content_for acts as a regression / acceptance test.
Merge pull request #18024 from carpodaster/fix/actionview/capture-non-strings

Re-enable capture'ing non-String values