3.0 Used ConventionsTrait in Association

Some rework of #4578 (see comments)

Used ConventionsTrait::_modelKey() for more DRY foreign keys creation.
So Conventions class with all methods from ConventionsTrait made static and public?
Where could we put this - Core, Utility?