Adds handling of pairing requests / normal messages with encryption

TODO:
1) Logic for situation where pairing request comes with a key that has expired
and is no longed recognized
2) Handling of encryption for self-destruct messages
3) Too much duplication in broadcast receiver code. Separate into functions
for handling each type of message. And functions for starting each activity
correctly with all the parameters it needs.