Avoid "Can't call method "isa" on unblessed reference"

Use Scalar::Util::blessed to test whether the arg is a reference
or not, before calling "isa" on it.  Blindly calling "isa" and
using eval to ignore the resulting error still triggers DIE
handlers when it does not need to.

This resolves:

    https://rt.cpan.org/Public/Bug/Display.html?id=55978