Investigating dependencies
Code to handle version lists
Added search functionality
Got a version of Resolve that terminates now. :-)
Started checking actual resolutions and found a bug

The issue is that we have no way to represent leaf libraries (ones with no dependencies).
I need to include that and then check to see that resolution gets handled correctly.
More rigorous testing
Makes sure that refinement always yields a reverse sorted list

The point here is to make sure that any list of versions we consider in our search is always
reverse sorted.
Added easier to follow test cases
Two new test cases work now

The first issue was that I misunderstood the constraints and gave the test the
wrong answer.  Once I fixed the implications, then I got the answer I expected.
I went through to simplify the algorithm by pushing all remaining possible
values down the stack (instead of just ones that were constrained).  This
premature optimization was making the algorithm more confusing.
More tests, good performance (even on contrived worst case example)