Make Task's map and flatMap exception-safe

Cherry-picking pull request #574 (db6d237)
Prevent an unnecessary allocation in Validation.getOrElse

Cherry-picking pull request #576 (c316aee)
Iteratee.enumIterator isn't lazy enough

Cherry-picking pull request #564