Support async app loading

This is needed for the cases where the app wants to go fetch metadata during the loopback startup phase. The main use case is to grab data from a remote source in order to use introspection to build the models.