Do a Get/Lock/Get to avoid thread serialization

In StructureMap.Pipeline.ObjectBuilder.Resolve I have several web
applications that have been experiencing lock contention in this Resolve
method as it takes a lock before checking the cache, effectively
allowing only one thread at a time to GetInstance<T> from StructureMap.