Fix maximum call stack size exceeded errors

The recursive call to inflateServiceRequest was causing node to hit the max stack size limit. The stack size would reset once "inflater.write" returned false, but when that happened was subject to outside influence.

By using setImmediate() (or process.nextTick() in node v0.8) we stop the inflateServiceRequest from adding to the stack when it needs to call itself.

Closes #17