Clean up the Workbench KVS somewhat

This KeyValueStore is not the MemoryKeyValueStore, it's particular to
the workbench, so name it appropriately, and make clear what is
Workbench, and what is KVS.
Provide more information in some exceptions.
Use Sentinels for sentinels, it helps debugging.
This class can be private in the function.
Clean up a little bit.
Merge pull request #116 from edx/ned/general-improvements

Ned/general improvements