replace crazy loops with linked list when building keylists
replace crazy loops with linked list when building keylists

The old code was buggy and difficult to read. This commit replaces it with
one pass of reading keys from gpgme and writing to a linked list. Then a
second pass that creates a fixed java Array and fills it from the linked
list.

closes #1660, closes #1621

eighthave/gnupg-for-java,eighthave/gnupg-for-java,HellUnit/gnupg-for-java,guardianproject/gnupg-for-java,HellUnit/gnupg-for-java,HellUnit/gnupg-for-java,guardianproject/gnupg-for-java,guardianproject/gnupg-for-java,HellUnit/gnupg-for-java,eighthave/gnupg-for-java