Remove unecessary keywords in many interfaces.
Fix remaining code style things.
Convert project to use Gradle. All file changes are due to checkstyle requirements. Removed pom.xml. Most javadoc changes are temporary and further documentation will be added in the future.