implement translation behavior default locale

The behavior now reads I18n::defaultLocale() to find the locale to return
translations in unless explicitly overriden.

Bundled with this change set is adding support to the translate behavior
for unhydrated result sets

Fixes #4509
keep note of what the environment default locale is
capitalize PHP
default the env locale to en_US

otherwise it can lead to some out of sync problems whereby this
method returns "" and defaultLocale returns "en_US" making direct
comparison of "is the locale the env default" not possible
rename I18n::defaultLocale to I18n::locale

there's only ever one locale in play
rename I18n::environmentLocale to I18n::defaultLocale

This better reflects woat the method/property means - it's the locale
before the application did anything
Merge pull request #4662 from AD7six/3.0-translate-default-locale

implement translation behavior default locale