Raise an exception when reconfiguring objects that already exist.

Instead of silently discarding the reconfiugration method call, an
exception should be raised so the developer knows that they have
probably made a mistake somewhere.

This behavior is applied to helpers/components/behaviors but not other
registry types as those are less frequently reconfigured.

Refs #4693
Consolidate duplicated code and fix a few issues.

* Fixup the message to be more generic.
* Exclude 'enabled' from config comparison. Components are often loaded
  by other components with enabled=false which should not cause errors.
* Fix loggers being rebuilt each time a config is defined and used.
Fixed CS error
Merge pull request #4750 from cakephp/issue-4693-duplicate-load

Fix duplicate load in registrys