added support for async module setup functions returning promises
added support for async module teardown functions returning promises
including async lifecycle tests
bumped to 0.8.16