PGPKeyring.key now stores the current state before setting a new state, and then restores the previous state during cleanup. This can allow managed blocks to be nested without breaking anything, which will be useful when I implement subkey reselection per issue #72