Bug 1049916 - Create Firefox Accounts smoke tests to validate user authe...

...ntication R=spenrose
Hmm, I think that `process.disconnect` doesn't cause the process to immediately exit, but rather to gracefully exit (i.e. terminate any open connections normally, then exit). If the server is hanging (say, because the other end of the connection exited abnormally), I dunno what the timeout would be. This is discussed further [in the node docs for `process.disconnect`](http://nodejs.org/api/child_process.html#child_process_child_disconnect).

I think we want to make sure we've received the `'exit'` event from the child before we let the test exit, so the best thing is probably to have `stop()` take a callback, and then fire the callback after the child exits successfully:

    stop: function(cb) {
      process.on('exit', function(code) {
        console.log('process exited');
        cb && cb(err);
      });
      process.disconnect(); 
    }

Maybe something like this? Again, to be continued, I'll find some canonical resources we can lean on :-)