Update required Java version to 1.8.
Remove explicit type parameters.
Add Java 8 features where applicable.