CHECKSTYLE-3: Please see the description for the list of changes

This is the last round of checkstyle modifications. The following rules have been implemented and errors fixed:

* Allow operators to be placed on new lines
* Remove redundant `final` modifiers
* Wrap the line endings at 140 instead of 120. Slightly more flexible with longer class names
* Static variables are to be defined in all CAPS
* Switch logger objects to be called `logger` or `LOGGER` per slf4j recommendation
* Allow catch clause exceptions to be marked as `final`
* Require whitespace before and after operators
* Javadoc: Require `{@inheritdoc}` when `@Override` is used. This tremendously helps to reduce javadoc errors and warnings.
* Relax the number of method parameters to be 10, instead of 7
* Require utility classes to have no visible constructor
* Catch `System.out.println` calls. Fixed all instances
* Catch Java classes with the missing license header
* Require `switch` statements to have a default case
* Javadoc: Require `@Override` tags and `@Deprecated`

I have also attempted to clean up and write as much Javadoc I could to make the build compliant. I do realize this is a pretty sizable PR, but most changes should actually be quite easy on the eye. Most are either formatting issues, Javadoc or missing whitespace here and there.