Shared information should be final and not change
Added unit tests for key exchange, such as man-in-middle-attack tests

Added unit tests for ECGKyeExchange, in particular the man-in-middle-attack
tests are important in verifying that the sign/verify operations work
correctly to prevent man-in-middle-attacks. They also highlight the security
weakness if users simply use the default shared info (initiator, recipient).
Merge branch 'master' of github.com:tinfoilhat/tinfoil-sms