Allow adapter modules to produce an adapter asynchronously

This is particularly important for promise libraries that are written as AMD modules.