Do not register component if already registered with Castle Windsor

Check that a component is not already registered with Castle Windsor before registering a default component. This allows an application to register their preferred implementation first, such as a custom naming conventions, and when the default components are registered, anything that has already been registered will be skipped.

Without this fix, Castle Windsor throws an exception during default components registration.