Development

I've added tests to the board, so that it raises an error if you attempt to choose an invalid cell, or shoot a cell that's already been played.
Having the tests here will allow us to simplify the player class, but I didn't get around to this yet.
We probably should add one more test, so you get an error when placing a ship in a cell which already has a ship in it.