Deprecate ProvidesEvents trait.

This trait was added before we had a naming convention for traits, and
has since been replaced by EventManagerAwareTrait. To help people
understand this, we should have the actual code in the correct trait,
and proxy the old one to the new one with a comment explaining what's
going on.
Improve EventManagerAwareTrait comments
Applied review comments from @Maks3w
Merge pull request #5283 from EvanDotPro/feature/deprecate-old-traits

Deprecate ProvidesEvents trait
[#5283] Add E_USER_DEPRECATED error on loading old trait
[#5283] Added deprecation notice to README
Merge branch 'feature/5283' into develop

Close #5283