#2,#4 - Setup map maker to work with board helper interface
#2,#4 - Decouple 'Random' object into a randomizer interface.
Remove usage of seeds in method calls.
#2 - Refactor map maker tests
#4 - Work directly with players
#4 - Refactor/DRY
#4 - Rename for clarity