Added a protocol and a category to perform auto-registration

Added the ability to mark a class with an AutoContainerRegistration and have the class and any protocol it implements registered with the container so we don't have to end up maintaining a huge ContainerConfig class.