Map now throws exception when tile is placed in an invalid location. Added some tests to make sure that exception is thrown correctly.