use unitary 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.

comments: drebs should have a look at this after my rebase.
I moved the checks to the decorator, which is a bit bloated right now, and some
errors might not be raising as expected.