Attempt to catch exceptions inside async blocks

Related to #483.

Sometimes we've got `UnresolvedPathReferenceNoRange` from FCS. Since it's reraised by async implementation, I hope to catch it by `Async.Catch`. Let me know if it is of any help.

The ultimate solution of course is to protect against that exception in FCS.
StartImmediateSafe is a good idea in a UI setting. However you can just as well use a try/catch in an async block here, it's the same overall effect.