Starting with IoC container

IoC is going to be rather important as I'm opening this up so that
external libraries can be tied in. The system has a default IoC
container but is built so that external items can be added. This is
basically pulled in from some of the experiments that I'm doing with
Batman framework.