override _Handle in RT::SearchBuilder

Like in RT::Record - just return $RT::Handle.

This avoids storing $RT::Handle in $sb->{'DBIxHandle'},
so it is never serialized in $session{'tickets'}. Such
serialization may lead to disconnection of active handle.
It happens when $DBIx::SearchBuilder::Handle::PrevHandle
is set to active handle and $session{'tickets'} gets
destroyed. It's hard to get triggered in a test.
we were not disconnecting handles on destroy

DisconnectHandleOnDestroy is argument in Connect method,
not in BuildDSN.

So we were not disconnecting dbh explicitly when RT::Handle is
destroyed. They are still being disconnected later when dbh goes
out of scope.

We fix this as this is waht we expect to happen.
save and restore OLD values in safe_run_child

We expected DiconnectHandleOnDestroy to be true,
but it was not, see 7175272b38dacc18b042930d5722686e63e17af7.
Save old values and restore them to avoid assumptions.

Restoring to hard coded true value revealed
a20251c5e8f6f59d9007df0902d60b6f949dcda4.
Merge branch '4.0/no-prev-handle-side-effects' into 4.0-trunk
Merge branch '4.0/disconnect-on-destroy' into 4.0-trunk