Moved some of the more complex functions in Board into BoardNode.java.  Also, moved Move.java back into its own file, and added DecisionTree.java to be updated later.
Changed the implementation of Board.java.  Everything is probably going to be broken now; shall revise higher-level code later on.