Sign then Encrypt

Ok. Hopefully this addresses all the past feedback. I tried to simplify the PR and still get what we need in. This one is also a prerequisite for #840 as mentioned below. @Renelvon @gubatron take a look.
It would be better if we accepted only a handshake message that has the form of handshakes that we also send. In other words it would be better if we checked that it has 5 entries, type, uri, pubKey, senderNick, senderGuid and the type is "hello".
However we can improve this later. This already a great step forward. :+1: