Reworked collections. Added new interfaces (Semigroup, Monoid,
Foldable). Started to refactor List accordingly.
pom version and compiler args updates.