Make ComponentExistsError & ComponentDoesNotExistError KeyErrors
Make ComponentExistsError & ComponentDoesNotExistError KeyErrors

These are basically `KeyError`s anyway, with a different name for
clarity. Making them subclasses of `KeyError` means the keys they're
passed will automatically be `repr()`ed in stack traces (making use
of the recent change that adds `RegistryKey.__repr__()`).

wylee/django-arcutils,PSU-OIT-ARC/django-arcutils,PSU-OIT-ARC/django-arcutils,wylee/django-arcutils