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 
@lorenzo side benefit: we could change _locale to be the default locale (I.e. the locale of the data, not the locale of the request) if it's untranslated now.