implement translation behavior default locale

Unless explicitly overriden, the behavior now reads I18n::defaultLocale() to find the locale to return translations in.

Bundled with this change set is adding support to the translate behavior
for unhydrated result sets

Closes #4509

Ref #4660 
Hey guys, what's the point of this? It's making it so no translated fields are set onto the Entities.
On my table:
```
$this->addBehavior('Translate', ['fields' => ['title', 'content']]);
```
1. My site's locale is en_us
2. `$locale` is then equal to `$this->config('defaultLocale')` because of line 78.

I don't get why testing the locale would halt the rest of the function. Is there a new place we're supposed to be setting the site's locale?