Implemented executeAsync.

This allows asynchronous scripts to be run in the browser context.

Also:

  - Prevent import attempts on non-JS files.

  - Finish implementing an incomplete Driver error handler which was
    causing tests to hang when the browser returns 500.

  - Fixed an incorrect asyncScript parameter name.