Updates for JDK 8

This is small change set that step up the project to jdk 8 and takes the opportunity to utilize the new functional constructs in the new release.