3.0 translate behavior

This finishes the remaining features for the TranslateBehavior. Improvements and changes below:

* It is possible to provide a different translation table using configuration
* Translated fields are deleted if the entity they are associated with is deleted too
* Ability to save multiple translations at once
* Added trait to facilitate the management of multiple translations for a single entity

Additionally a couple things were changed in the ORM:

* When using `Entity::set` the property is marked as dirty immediately, old and new value is not compared anymore for determining the change.
* Moved some array normalization logic from `Table::save` to `Associations::normalizeKeys`