Instance building for Func<,>

This maps to a call to container where the input arg is used
to create an instance, translating to c.With(arg).GetInstance<T>
make sure there's nothing special about string
Merge pull request #223 from flq/func_typefactory

Instance building for Func<,>