jshint cleanup
add jshint dev dependency
Enforce config revalidation before handling subscription

Ensures the config is still valid for the module, without forcing the
module to do so.
Replace Jasmine with Mocha, Sinon, expect.js

Jasmine doesn't support running a function after all tests in a suite
have completed.  This is necessary for the upcoming sandcastle
integration.  Mocha natively supports a done callback in each test.  I
prefer Jasmine's spies to Sinon's (Mocha doesn't have spies natively),
but I think I can come to grips with this.
Add ability to execute ad-hoc scripts