Add functionality to CatanMap to initialize a new map with options to randomize tiles, numbers, and ports. Also updated the GameList class to call the Map initializer with all parameters. Introduced a new class called "MapBuilder" which does most the work.