Use an undefined variable instead of the void 0 expression.
Add runtime support for async functions.
Transform async functions and await expressions.

Closes #100.
Use Promise.resolve instead of Promise.cast.