Java 7/8 compatible

- Moved default methods from F<n> to static methods on F<n>Functions
- Need better name than F<n>Functions
- Need to address overlap with existing Function class
- Runs Scala tests (so does not work with Java 8 due to(http://issues.gradle.org/browse/GRADLE-3023)
- Java 7 compatible
- added use of retro lambda on demo module to show how to do this with other modules(retrolambda  https://github.com/orfjackal/retrolambda and gradle retrolambda plugin, https://github.com/evant/gradle-retrolambda)