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