Ignore search path errors inside callback.

Have to set the error to `undef` rather than rely on an exception caught by
`try {}` because this is an "internal" execution path for the DBI. v1.630 will
properly notice that there was an error, but will only do something about it
once the callback has finished executing, which means after we're outside
of the scope of the `try {}`. Details here:

  http://www.nntp.perl.org/group/perl.dbi.dev/2013/11/msg7622.html

The workaround is to simply set the error to `undef`, if it exists, and it
then not be noticed by the DBI calling code. I'm leaving in the `try {}` block
for future-proofing; I'm hoping that callbacks will be turned into proper
"outer" contexts where an exception would actually be thrown. So this code
should cover versions where no exception is ever thrown (v1.629 and lower),
versions where an exception is thrown by the calling code (v1.630), and
potential future code where the exception will be thrown inside the callback.