use temporary openpgpwrapper as a context manager

in this way we implicitely catch any exception during
the wrapped call, and ensure that the destructor is always
called.

rebased against latest develop