curried Either and added Left and Right

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

although as noted above, since we have `Left/Right` types, might as well just use `Either` to wrap them, and let it have a `this.value` that contains a `Left` or a `Right`. That would make `Either` consistent with all the other types. That difference always stuck in my craw a little bit anyways.