Implemented the PuzzleModule methods {getAbsoluteNextCellValue, getNextCellValue, getStateName, getStateNumber, numAcceptableStates} in terms of two new methods intended to be made abstract {getCellNames, getUnselectableCells}.
Updated puzzles to use the new getCellNames and getUnselectableCells mechanism.
Added flags to the ant script to make line numbers actually appear in exception stacktraces.
Renamed "New" and "Open"

Now "Open Puzzle" and "Open Proof"
Changed "New Puzzle" to "Open Puzzle" in the menu (Aaron's change only affected the buttons).
Updated the Fill In Black Rule

Should work for regions that are partially filled with black cells
Removed duplicate rule for nurikabe
Replaced previous hacky solution for cell name/number mapping with more elegant/straightforward one.
Update TreePanel.java

Collapsing now puts the subsequent node right behind the collapse.
Update BoardState.java

Collapsing now puts the subsequent node right behind the collapse.
Added a check to see if a caserule is in the process of being selected when clicking a justification. Fixes #63.
Update TreePanel.java
Update BoardState.java
Added the Fill In White Rule
Slight clean-up of the right-click handling code in NormalBoard.
Moved the right-click functionality from NormalBoard into the new "ChangeBoardCell" callback class (might need a better name, was originally envisioning a less complete seperation than what was achieved).
Removed an unused inner class from NormalBoard.
Simplified the lookup of right-click menu items.
Updated icons

Updated Nurikabe rules: FillInBlack, NoBlackSquare, IneUnknownBlack, One
Unknown White
Updated Treetent rules: oneTentPosition
Updated some treetent icons

caseTentOrGrass, contra_noNeighbors,contra_notree