Add test cases, comments, audit fixes

declare 368 variables as final
add codepro ignore javadoc to test cases
delete a bunch of throws statements that made the auditor unhappy but ultimately end up making worse code because now subclasses can't utilize the interface fully
fix lazy public fields in places
fix a bunch of javadoc stuff