Fix bug in key exchange in ENCRYPT and add new feature to change symmetric keys on every view change

I noticed that the key server does not update key nor the symmetric key version properly when becoming a key server. I added one test case to verify this (testKeyChangesDuringKeyServerChange) and tried to fix the problem as well.
I also added possibility to change the keys on every view change to enable messaging inside a cluster between present members only.

Best regards,
Tero Leppikangas