Transform async functions and await expressions

This functionality still needs tests, obviously.

cc @amasad @thomasboyt @subtleGradient @bklimt