Ensure that manhole.install() invoked only once

Previously manhole.install() could be invoked multiple times leading to
multiple fork patching and hiding errors in user code.

Now only the first call would install the manhole, and the next attempt
will raise manhole.AlreadyInstalled exception, revealing bad user code.

This change also simplify the code, removing unneeded if block in the
normal code path.