Make hasOne associations default to LEFT joins.

Using an INNER join makes the hasOne association data required. However,
there are many valid cases where a hasOne association might not have
data. We should stil load the parent record in these cases.

Refs #3902
Removed unused "safe mode"
Add test for associated objects being null

When a hasOne association is missing null should be returned. Giving an
empty entity can be really confusing and makes validation much harder
that it should be.

Refs #3806
Refs #3902
Renamig $include to $options in Marshaller
Starting to move marshalling associated methods in Table to use $options
Don't hydrate empty association entities.

When hasOne/belongsTo (joinable associations) are empty we should skip
populating empty entities as they cause problems later on in the
request.

Refs #3806
Refs #3902
Fixing some broken tests
Add tests for Entity::errors() being able to read data with a path.

Refs #3807
Remove deprecations.
Implement path based error reading.

Much like other parts of CakePHP, errors in entities should be readable
using a dot separated path.

* Implement code.
* Fix tests.

Refs #3807
Use foreach instead of array_filter.

This allows the loop to be broken on the first non null element.
Cleanup deprecated code.
Fix failing test.
Fixed more Marshaller tests
More marshaller tests fixed
correct reference to tests directory
All Marshaller tests finally fixed :)
fixes _tests_ directory
Merge remote-tracking branch 'origin/3.0' into 3.0-fieldlist

Conflicts:
	src/ORM/Marshaller.php
Merge pull request #3923 from dereuromark/3.0-deprecated

Remove deprecations.