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!
Is there a reason for that though? How would you specify the finder for an association if not this way? Querybuilder can do it but it seems like there would be a lot of repeating code if it were only up to that.