Closes #33

Problem was in TrSessionManager.  We were overwriting sessions in TrSessionManager.sessions to
ensure that they were "refreshed" - so that they didn't expire.  Didn't realize that
overwriting a key in a Guava Cache causes onRemoval to be called for the overwritten key,
and this was interpreted as meaning that it had timed out.

Consequently, the session was terminated, the connection was then terminated, all in the
middle of the new node trying to assimilate.

Fix is to check the reason for onRemoval() being called, and ignore it if the cause is
that it is being replaced.
Merge branch 'master' of github.com:sanity/tahrir