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!
I understand that there is no way to pass options now, the patch you added was going good except for the state change in the association. The correct solution is to pass the options directly to the relevant method as the rest of the options are passed