Added FluentIterable in the form of Google Guava, but literally just
trying to be a pure implementation of monads over Java's Iterable<T>