Made #getGhosts() plural to be consistent with the rest of the methods.
Introduced the GhostController and implemented RandomGhostController.
Replaced topLevelOccupant with getOccupants which returns them all.
Added game finishing logic and collision handling.
Some refactorings to Game and Level.
Fixed an IndexOutOfBounds problem.
Cleaned up the pellet count methods in Level as they are never used.
Removed the totalPellet count from Level.
Deleted 3 files that are not used.
Some refactorings and added invariants for Square and Character.
Gave Pellet some JavaDoc, the class felt a little empty. Still does.
Added Javadoc wherever it was missing.