lab 4: shared: started implementing tests for JsonFileStorePersistentLists
but then realized that building integer indices into the list would require
a lot of work to create a list that wouldn't adjust item indices when obects
were removed from the list. Thus, using a list as the persistent structure
is not as attractive anymore. I'll stick to using maps for the primary key
for now, but I will update the Manager classes.
lab 4: shared: added JsonFileStorePersistentMapStorageManager class and
updated naming on the StorageManager interface methods.
lab 4: shared: made StorageManager not require the item type to have the HasID
aspect; the JsonFileStorePersistentMapStorageManager still requires it, but
only temporarilly.
lab 4: shared: added PropertyAccessor and updated the
JsonFileStorePersistentMapStorageManager to require a key PropertyAccessor
when constructed that will derive the key type from the item type; removed
the requirement/dependance on the HasID aspect.