Allowing associations in Query::contain to specify a custom finder

This allows changing the finder method an associated Table uses for contains. Also, `/ORM/Association/SelectableAssociationTrait` was passing in "all" at all times to the Query, even if you changed the finder. This addresses #4408.

Thanks!
Yes: side effects... We try to avoid them

Instead of modifying the association, pass the options to the appropriate method. Just as any other option is passed, such as fields or conditions.