PIVOT-799, functional interfaces

git-svn-id: https://svn.apache.org/repos/asf/pivot/trunk@1605126 13f79535-47bb-0310-9956-ffa450edef68
PIVOT-799, monad implementation (initial implementation, still wip and missing tests)

git-svn-id: https://svn.apache.org/repos/asf/pivot/trunk@1605129 13f79535-47bb-0310-9956-ffa450edef68