Eliminate a number of compiler warnings

I've separated each type of warning into a separate commit so you can cherrypick those you want or don't want.

* Eliminate raw type/unchecked conversion warnings. 
* Increase compiler compliance to JavaSE 6.
* Eliminate JavaDoc warnings.
* Remove unnecessary superinterfaces.
* Remove an unnecessary `null` check.
* Mark deprecated declarations with `@Deprecated`. 
* Ensure `static` methods and fields are accessed through the class or interface where they are declared.
* Add missing `@Override` annotations.
* Remove unnecessary casts.
* Remove unnecessary semicolons.
* Remove unused import.
* Silence some warnings about unclosed resources.