Fix issue 158

Fixes the problem where the read buffer was cleared whenever a NACK busy message was present.  This patch will trim the leading "15" byte(s) and if anything remains it will push it into the fragment for the next read.

This pull intentionally relies on pull request #155.  Since adjacent code was changed, pull request #155 should be merged first and then this request.  I apologize that it makes this pull request more difficult to read.  The only additional change is the last commit, so if you review those changes it will be easier to understand.