Rescue ::StandardError instead of ::Exception

Rescuing ::Exception in libraries is problematic, for several reasons.
In this instance, it prevents a SystemExit from killing the interpreter
correctly.

The exception classes which are under Exception and not StandardError
are generally those which it makes no sense to attempt to handle in user
code anyway, so catching them (especially in a background thread, where
it's normal to expect a Thread.abort_on_exception setting to be
relevant) is misleading.
Fix #204
Update change log