Implemented cached list and dictionary support.

Implemented interface-based component resolving with interface auto detection.
Created NuGet packages.