Don't requeue the write if it fails

Re-queuing write will give infinite loop if write consistently-fails; which is the case of total serial connection loss.

This commit comes from @yatey https://github.com/yateya/node-serialport/commit/13284343c7aa125dd3275f0a28600c4a6a20b697

I've cherry picked it onto the latest master cleaned up some of the comments.

This should help close #302 though I think we need some better handling of the disconnects.