hook: raise a more specialized HookAbort exception when a hook fails
We need to gracefully handle some aborts for pushkey, especially
because it leads to a user-facing crash over the wireprotocols. So we
need a more specialized exception to catch.
Testing that hghave does not crash when checking features $ "$TESTDIR/hghave" --test-features 2>/dev/null