Don't allow config items to inherit from themselves.

Fixes #4045
Disallow colons in user-defined objects. Use colons for auto-generated object names.
Fix: ConfigItem types and names are not case-insensitive

Fixes #4044
Make error message about invalid object names more verbose.