When GnuPG>2.0.15 says that ```--no-use-agent``` is obsolete, it really means "You can't use GPG 2.0.x without an agent running, so we'll start one for you if there's not one running already."

Most of the purpose of the metaclass code in this module is meant to hide any currently running agent from the GnuPG process that we're driving. This is very important for several reasons. First, we don't want to ever touch a user's keys, neither those stored in keyfiles on disk or those in memory in a running agent, unless we're explicitly instructed to do so. Second, if a system runs a program which uses ```python-gnupg```, and that system were to already have a GnuPG agent running, on some systems the agent is what's behind things like the ```gnome-keyring```, and in some cases it could even be handling authentication for connections to the local Xserver. We can't kill a running agent, and we don't ever want to touch it, and so telling GnuPG ```--no-use-agent``` is the best thing to do. Additionally, the metaclasses in this module do some minor black magick to hide any running GnuPG agents from the python process, and replace them upon interpreter exit. This code is a tad scary, we should be careful when modifying it, and doing so simply to make a warning go away, especially when GnuPG still interprets the option just fine, seems like a bad idea to me.