Completed (untested) PiHeader parser.

After testing, the method will allow the PiParser to handle parsing a header and a message out of multiple partial blocks of data. This is to ensure that we can still parse out a message from the server even if it isn’t sent in one shot.