lab 4: shared: added HasID aspect interface and StorageManager interface
lab 4: shared: added DecoratedList and ListDecorator
lab 4: shared: added BaseListDecorator which doesn't modify the decorated list
and the JsonFileStorePersistentListBuilder and Decorator for handling the
construction and persistence of JsonFileStore persistent lists.