Improve KeyValueStore and use it in communication package.

Change-Id: Ie1990a1d240a46afe3183af26fad3a90159bab97
Reviewed-on: http://naan.mimuw.edu.pl:8001/75
Tested-by: Nebulostore Nebulostore <nebulostore@gmail.com>
Reviewed-by: Grzegorz Milka <grzegorzmilka@gmail.com>