Large cleanup from Sonar

* Fixed all equals() and hashCode() inconsistencies
* Fixed finally{} returning false (got rid of finally block, the catch returned anyways)
* Replaced MANY `Throwable` with `Exception` for real exception handling.