Add custom graph color java solver - work in progress
Finish implementing the constraint/domain store
Replace solved status getter with solution data getter
Provide O(1) method for getting max color used in a solution
Outline branch-and-bound search engine
Provide O(1) method for determining if SearchNode has found a feasible solution
Rename private assertion method to be more specific
Add public query-the-result methods
Prevent infinite recursion in ruleOut by only checking edges once

Previously, ruleOut would enforce the edge constraint every time it visited a
node whose color was known (domain[v].cardinality() == 1). Now it only enforces
the constraint the first time the node's color becomes decided (i.e.,
cardinality drops to to 1).
Finish drafting branch-and-bound optimizing search engine
Clear up confusing reuse of instance variable name and enforcement of finality
A variety of syntax, spelling, and Java-specific fixes
Draft DegreeSortedGraph implementation
Reduce running time of DegreeSortedGraph.reverse(int) from O(V) to O(1)
Import algs4.Graph and change inner class to static

findbugs recommended changing the inner class to static probably because it
doesn't need access to the outer class.
Fix dumb syntax error
Fix missing initializations in SearchNode copy constructor
Fix how the solution is returned to the constructor

Commit 5edbcc4 tried to fix this, but failed
Fix typo in assertion
Write input and output methods/the main function