Data.Either.Validation

This is the strawman PR for us to whack around, I don't expect this to be the final version.

The obvious possible improvements/additions would be:

Iso between Validation and Either.

Polymorphic prisms for _Success/_Failure that work on Either and Validation.

No monad instance for now. With AMP there shouldn't be any reason not to add the Monad instance back in with ap being more properly defined in terms of Applicative.