Add GameOverException and exception catching to tests.

+ Refactor methods that call System.exit() to throw a custom
  GameOverException. This bubbles up to Main.main(), which
  calls System.exit() on their behalf. Tests that expected
  System.exit() calls were erroneously passing without reaching
  later assertions. Tests now catch GameOverExceptions, which
  enables testing against output before exit.
Add OutputRecorder helper class to tests.

+ Add an OutputRecorder helper class (subclasses PrintStream)
  to capture printed output string by string. OutputRecorder
  stores printed strings in a deque for forwards or reverse
  output playback during tests.
+ Refactor tests using complicated handmade strings to use
  OutputRecorder.
Add MIT license.
Fix ant/ivy build: remove JaCoCo dependencies.
Refactor BoardCoordinate.

+ Extract BoardCoordinate to interface.
+ Create ThreeByThreeBoardCoordinate and
  UniversalBoardCoordinate implementations.
+ Add controller logic to choose coordinate
  classes based on board size: natural language
  coordinates will still work with 3x3 boards,
  but larger boards require ordered pairs.
Add different strings for 3x3, nxn boards.
Clean up unused imports.
Add nxn GameBoard constructor.
Add GameController.startGame() method.
Spike Lanterna. Save only for future reference.
Rename MockTerminalView.pushInput() enqueueInput().
Add Travis CI build info.