fixes to async bean manager. not properly registering aliased beans when there is a loading delay.
singleton constructors must double-check to ensure that singletons have not been constructed asynchronously to assure cyclical graphs are built correctly when out-of-order loads occur.
only produce code to guard against out-of-order loads if the type is actually part of a cycle