Add Validation

    Validation e v = Failure e + Success v

> The Validation data type represents a "success" value or a semigroup
> of "failure" values. Validation has an applicative functor which
> collects failures' errors or creates a new success value.
Update README