added canPlaceToOwn method to line and relevant tests
added method to grid for getting all lines
added getUnoccupied getFirstUnoccupied and hasAny helper methods to line
added missing imports
added isOwnable taking one argument which checks
wrote ai
added caching to line
added optimizations to grid
optimized nextPlayer routine
added ai becnhmark