events: Refactor code to make the common path clear.
events: Use bool for flag.
lib: Don't call directly from one guestfs__* function to another.

The public-facing functions like 'guestfs_*' are implemented as
wrappers around implementation functions like 'guestfs__*' (for
library-side functions only).

Don't call from one 'guestfs__*' function to another.  It prevents
ENTER events from being caught, especially where a deprecated function
calls another implementation.

Most code was not doing this, but there were still some places left
where it was done.