Extracted common code from simple package

Also upgraded to Scalaz v7.0.0-M8.  This combined with the refactoring
being done for graph/tree based solvers has led to a version bump to
v0.4-SNAPSHOT.