Disallow early return from finally blocks (W0150)

### Motivation
The `finally` clause shouldn't be used to handle exceptions; it should only be used to do necessary cleanup. As such, there is no reason to have early `return`s or `break`s inside a `finally` clause; it can come right after that.

### Changelog
* Activate pylint warning for early returns from `finally` blocks (W0150).
* Fix code to handle exceptions explicitly and avoid early returns.