Added LiftTask <: LiftIO typeclass

I didn't generate this with the typeclass scaffolding stuff, so it might need to be revised/rewritten.  I think it's important to have a `LiftTask` though, given the way that scalaz-stream basically forces users to treat `Task` as `IO`.  `Task` also has the notable distinction of being one of two monads in scalaz which have no "greater" monads, and thus make sense as lift predicates (`IO` being the other).