NinjectAdapter cannot handle first-to-register behavior, Ninject cannot handle registration of Func<>

Implemented similar first-to-register strategy from the WindsorAdapter
to the NinjectAdapter. Refactored CorrelationIdGenerator to an interface
and service strategy. Refactored unit tests involving
CorrelationIdGenerator to use a stub implementation.