Cleanup
Switch to using interface to used colours determiner
Added used colour determiner

Choices are;
 * bloom filter based, inaccurate but memory inefficent
 * hashset based, accurate but used just over a gigabyte of memory to
 store the data
Added validateCoord function along with exception it throws, InvalidCoordinate