Progress on defining the Foldable interface. Added methods. List mutators (append, prepend etc.) stay in List because they are specific for the List structure.
Changed the factory method Option.empty() to Option.none() to be close to List.nil() instead of List.empty(). This reflects the Type structure of List and Option but moves a step away from java.util.Optional.