curried Either and added Left and Right

properties are prepended with _ to allow functions left() and right()
isRight() added to pass strict mode

> I disagree. You can check arguments.length when calling Either and return a function
when given one arg.

True

> Right.prototype.map = function(f) {
>     return new Right(f(this.value));
> }

This doesn't solve the issue you raised with a `f` failing or returning null.