rosie: add gpg-agent caching of credentials.

This uses the gpg-agent Assuan protocol to communicate via
a socket. It uses gpg-agent's own password entry mechanism
(the pinentry programs).
properly escape prompt spaces
alter cache id and prompt string
rosie auth: clear gpg cache for bad passwords
Merge pull request #1464 from benfitzpatrick/rosie.gpg-agent

rosie: add gpg-agent caching of credentials.