Add LocaleTrait to reduce code duplication

This fix #378 

A couple of notes:
* I've kept "return $this" from setLocale, but it seems odd in a traits;
* I've copied the DocBlock from LocaleAwareProvider, but I don't know if it is the best way for the documentation.

Hope this helps :)
a Provider should be returned.