Code cleanup

This is a pretty big change.

I've bought down the amount of warnings from around 280 to 173. Some warnings must be suppressed as they can't be avoided easily.
The function getTestExceptions must have a docblock comment.