Reorganize helper functions in test/run.js.
Add runtime support for async functions.
Transform async functions and await expressions.

Closes #100.
Use Promise.resolve instead of Promise.cast.
Add async function test harness, with Promise runtime polyfill.
Add very basic tests of async functions and await expressions.