Isolated StructureMap as a dependency

We can't take a dependency on another IoC container as we're already using Microsoft Unity. I added an interface for the IoC container and made StructureMap a plugin to it so integrates easily. I also created a really simple default implementation so it will work without a container. I updated the appropriate tests and added new ones for the code I added.

You're doing some great work with this project, and I'd love to contribute anything we add.