Introduce immediately executed async lambdas

Summary: Introduce syntax for immediately executed async lambdas, where this:

  async { ... }

is equivalent to:

  call_user_func(async () ==> { ... })

Useful especially when awaiting multiple non-trivial async blocks.

Reviewed By: @elgenie

Differential Revision: D1672843

Signature: t1:1672843:1415731520:e8ff6ac7ff20cad91f057058dbfb3359ad405188