passing options instead of cb to spawnCommand

I was puzzled by why 'cb' was being passed to the spawnCommand method. I assume this was a typo? With the proposed change, you can now pass in options to the spawned command in order to do things like modify the PATH variable for the spawn'd process, etc.
Can't we always push the options and fix the other assertions?

If you want to help out a bit more, the BEST way would be to drop this home made stubbing and using `sinon.stub()` and the sinon assertion method: `sinon.assert.calledWith(stub, 'arg1', '...etc')`