Removed parameter 'shared' from TreasureChest constructor

Also combined methods 'treasureSet' and 'treasureSetShared', at
TreasureManager. Since they were almost identical.
Created Facade interface for repositories etc

New interface ITreasureDataFacade combines a bunch of interfaces. It's
implemented by TreasureDataFacade, which is extended by TreasureManager.
This results in 1 clear interface for loading/saving treasures and
groups, etc. It also cleans up the TreasureManager class greatly.

Also created base classes  YamlRepository<K> and Repository<K, V> to
replace GroupRepository and LocationRepository.
Rest of the code uses new interface

Still not sending load/save errors to the player...