add basic Shop and Shop.init() with unit tests

In this commit, I've included the struct Shop, it's init() method and the unit tests to go along with that method