Better logging of tests; switch to `promise` lib

- removed dependency on Q
- more robust SIGINT handling during tests