move gpg-agent protocol stuff into its own header
gpg-protocol: split out result checking
gpg-protocol: stub fingerprint listing
gpg-protocol: implement gpg_keyinfo
gpg-protocol: implement gpg_preset_passphrase
gpg-protocol: port gpg_keyinfo to ragel
gpg-protocol: correct protocol implementation

Needs to be sizeof(message) - 1, otherwise it writes the NULL byte too.
gpg-protocol: fix keylist parsing
gpg-protcol: refactor gpg_preset_passphrase
gpg-protcol: improve the keyinfo machine
gpg-protcol: refactor keyinfo parsing
gpg-protocol: some corrections
gpg-protocol: buffer reading and make parsing more robust