Implement gnome keyring data store.

Keyring store is used by default.
Old flat file store is accessible using new --FlatFileStore option
Support dynamic switching of card store type

In headless mode, first try flat file store but switch to keyring,
if available, if the flat file store has no cards (unless flat
file store was explicitly specified on commandline).
Add option to force use of flat file store to moonshot-webp

'-f' is the switch. Fixed usage statement.
fix HasNonTrivialIdentities

Now returns true when the current store either has a 'NoIdentity'
card with at least one rule or service, or any other identity.
Specify gnome-keyring-memory.h, not gnome-keyring.h where appropriate.
Use non-cacheable memory for passwords

When available, use gnome keyring memory utilities to allocate
non-cacheable memory to store passwords in memory.
'remember password' fixes

Identities without 'remember password' checked never have their
password stored to disk in any manner.

The password will remain in uncacheable memory until the
identity selector process exits.

User is now prompted to enter a password any time an identity
without a password is about to be sent to a service. The
'add password' dialog now shows the display name, NAI, and
requesting service for the identity.
create ~/cache to make gnome-keyring daemon happy
When installing id card, store password when one is specified
Fix foreach syntax for compatibility w older vala