Refactor the base controller for better testability.

ChiffonEnvironment is now part of the constructor and so injected by
Autofac.