Completed the key exchange, now key exchanges have a CRC32 checksum

Completed the hex exchange, now key exchanges also have an additional
CRC32 checksum, which is used to check if an incoming message is
a key exchange message or not.

The new format of key exchange messages is the following:

      -------------------------------------
      | public key | signature | checksum |
      -------------------------------------

Where the public key and signature calculation are the same, but
a CRC32 checksum of the signed public key is calculated. The
entire key exchange message is then encoded as Base64 for
transmission.
Merge branch 'master' of github.com:tinfoilhat/tinfoil-sms