moving to when.js for promises
putting some polish on the test suite, runQuery now lives on the prototype