Implementing ability to use a custom join type in contain

This helps overriding association settings without setting state
in the association clases.
Merge pull request #4746 from cakephp/3.0-join-type-as-option

Implementing ability to use a custom join type in contain