Fire callbacks after running all tests

This should fix #27
Add timeout to async test so we see that we failed

If your test runs above 20 seconds then something went wrong.
Be warned.