Refactor - extracting ItemBuyer from SuperMarket

acceptance tests pass, still need to fix unit tests
Refactor - unit tests now pass