Refactored Shop design

* game.model.shop.Shop: became the StockedShop handling the mainStock. (Add & remove won't effect the mainStock as described).
* game.model.shop.StockedShop: deleted, because we can.
* game.model.shop;GeneralStore: Added code handling playerStock which was initially handled in Shop as well.

* Side effects: ShopHandler, was able to get rid of a few instanceof GeneralStore. JdbcSerializer changed StockedShop to Shop.

* NOTE: No tests were performed as I don't have a suitable client, nor cache.
Replaced getPlayerStock() with a more general method if we ever decide to somehow add a Shop with more, different, stocks.