Removed code deprecated in 0.3

This removes most APIs deprecated in 0.3 and removes their use:
 * Removed `Failure.getCause()` and replaced all its uses
 * Removed `JobMessageObserver.onError()` and replaced its use with thrown exceptions.
 * Removed a deprecated constructor in `FailedJob` and subsequently removed `JobException`, which is no longer used.

Also, this fixes a small issue where we imported a deprecated `Assert` class from JUnit.
 * Imported the right `Assert` from junit