Migration to Java8! Implements #84
No code has been changed to use new features. Need to go through CI to ensure all infrastructure is ready.