Java 8 driven cleanups

Details in commit messages. The main driver for these changes is getting off sbt 0.12.x which depends on Scala 2.9.