Refined SolutionTree.search and went to Scalaz M9

By introducing these changes, Smocs is better positioned to support
"search combinators" since the search method now can be used in a
step-wise manner instead of relying on expand's behaviour.