Issues with NinjectAdapter service registrations


1. NinjectAdapter cannot handle first-to-register behavior
2. NinjectAdapter 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 over Func<string>. 
- Refactored unit tests involving CorrelationIdGenerator to use a stub implementation.