Update PR #224 with passing tests

Updates PR #224, with fixed tests.
this seems wrong to me.  see https://docs.python.org/3.1/library/binascii.html#binascii.crc32

CRC is only important in binary pack form b/c that is what is sent to the broker.  does struct.pack('>i', crc) behave differently on py2 v. py3 ?