Abstract out key-value store from Session engine
documentation
Merge branch 'pr/1000' into devel

Fixes #1000