Strip any leading null characters from data before trying to parse message

If the decoder encounters any leading null characters, decoder will think it is a keypad message, the message parser will not match, it will raise InvalidMessageError and the input reading thread will stop. This patch removes any leading '\0' characters, and the decoder will not get confused.