Move Singularity into the Java 8 Future

Not ready for merge yet, but this has my current Java 8 changes.
I dimly remember that there are improvements in type inference in java 8, so are the <String> declarations still needed?