Rewrite of Maybe with Just and Nothing

A whole new implementation that splits the behaviour of Maybe into Just and Nothing. The `Maybe` constructor decides if its a `Just` or a `Nothing`, after that each subclass decides that to do with `map`, `ap`, `of` and `chain`. Actually, `Nothing` doesn't even store a value!!!

Added an additional `isNothing : bool` *getter* property that is useful to tell which of the two classes and object belongs.