QueueRunner continues running functions in async case

Continue running functions even if an async spec throws an
exception during the synchronous portion of the spec
Add back in forgotten 'env' to Env integration specs

As pointed out by @jdmarshall. Fixes #399
Specs/Suites wait for an async spec to finish

Go back to having all suites and specs run asynchronously so that
they properly wait for any async specs that there might be
Merge pull request #401 from sheelc/async_queue_runner

Async queue runner fixes