Create the java8 profile, remove @FunctionalInterface from java

Move the java8 module to a separate maven profile. Remove the
@FunctionalInterface annotation from the java module so it build on
java7. Add a java8 job to the Travis configuration to build the java8
module.