Add confirm and instruct prompts, avoid use of futures

This patch implements a blocking response queue for certain messages sent to
the server.  These messages are confirmPrompt, prompt, and instructPrompt.

This makes tornado's yield-based futures redundant, simplifying the tests quite
a bit and makes it possible to follow the same patterns for failing tests in
the harness code as MinimalTestCase uses.
Don't invalidate self.app because it's needed in close_cert_app
Walk window and navigator recursively. Add bundles to package.
Compare webidl results to exepcted results.
Undo packaging of bundles.
Merge pull request #34 from andreastt/ato/prompts-2

Add confirm and instruct prompts, avoid use of futures
Make client logs easier to read in debugger
Fix testRunStart/testRunEnd events
Cancel events are now tied to each Dialog
Correct variable name
Handle unknown messages
Add smoketests for semiauto
Remove unnecessary imports
Generalize timeout
Move app close to cleanup, and close any living instances on setup
Remove unneeded call to use_cert_app in ioloop
Remove references to tornado in tests.TestCase
Fix semiatuo SMS tests according to latest changes to framework
Merge pull request #37 from rwood-moz/update_semiauto_sms

Fix semiatuo SMS tests according to latest changes to framework
Add missing hashbang to environment.py