Run go to metadata asynchronously

Fix #768.
We should save current (UI) execution context, switch to thread pool, run to `continueCommandChain` point, switch to the UI context, run the continuation and finally restore the thread pool ctx (or omit this step).