Fix rescue_from subclasses default

This fixes `rescue_from` to properly set `rescue_subclasses` to `true` by default, as per the documentation. This was brought up in #649

Because it was defaulting to false, all other unit tests that involved rescuing (such as `rescue_from :all` and rescuing from a given block) were passing, but when the default was properly set to true, some of them broke. In other words, it exposed a bug in a combination of `rescue_subclasses` set to `true` in combination with `rescue_from :all` and rescuing using a given block as a handler. This has been fixed as well.

Added a unit test to ensure that by default, subclasses are rescued from (i.e., code behaves as if `rescue_subclasses` is `true`).