Completely Rewritten Insteon Message Parser

This code changes the PLM parser to a First-In-First-Out type of parser.  This should resolve the issue found in hollie/misterhouse#374 where shorter messages were being excerpted out of the middle of larger messages.

This path fixes a number of notable problems with the prior code:
- The routine is significantly easier to read now.
- The use of the split to break out multiple messages has been removed.  Using split created really odd results, such as blank messages, out of order messages, and the problem noted above.  Moreover, it was not the most logical code to follow.
- This also likely solves other latent issues that may not have been apparent, but were caused by the oddities of the old parser.

@rudybrian, since you seem to be most able to reproduce a parser error, can you test this out and see if this solved that issue?