Made MonadPlus instance for StateT

Where the inner monad is a MonadPlus and the state is a PartialSolution we now
have MonadPlus so I get my filter! Yay! It turned out that this functionality
was not in scalaz, even though it's this way in Haskell.

TODO: Consider contributing this change to scalaz! ...Once it is generalized and
we've covered the scalaz contribution guidelines... :)