figure out the agent's pid when SSH_AGENT_PID isn't set

Upstream gpg-agent doesn't seem to output SSH_AGENT_PID anymore. When
its not provided, parse it out from GPG_AGENT_INFO instead. Otherwise
envoy can't monitor the agent. Closes #8.
fix infinate loop on shutdown

A different bug but was exposed with issue #8. On cleanup, a entry with
pid set to 0 would trigger an infinite loop, preventing envoy from
actually shutting down.