Ensure LookupContext in Digestor selects correct variant

Related to: #14242 #14243 14293

Variants passed to LookupContext#find() seem to be ignored, so
I've used the setter instead: `finder.variants = [ variant ]`.

I've also added some more test cases for variants. Hopefully this
time passing tests will mean it actually works.
Don't pass variant in params, it's ignored

We're setting variant above, in request object directly
Don't create addition vars, use options[] directly
No need to binds be optional
Merge pull request #14378 from afshinator/master

Fix probs in sections 5.6 and 5.9; [ci skip]
Add variants to Template class
Don't pass hash as keys to #find method
Disable LookupContext's cache when looking for template
Rename _setup_options to _options_for_digest
Set format in finder
Add mocked disable_cache for FixtureFinder
Introduce #with_formats_and_variants to prevent problems with mutating finder object
Avoid duplicated conditionals
Force sass-rails ~> 4.0.2 to avoid sprockets compatibility error

See https://github.com/rails/sass-rails/issues/191 for more information
Allow custom JDBC urls

mitigates #14323
better test error messages
Match the whole string
Take in consideration guides CHANGELOG
Merge pull request #14329 from pch/digestor-lookup-fix

Ensure LookupContext in Digestor selects correct variant
Fix the resolver cache and stop mutating the lookup_context

Before we had a bug in the resolver cache so the disable_cache were not
working when passing options to find