This is a major change to the client code and the API. All API calls now require
a HTTP header called X-PGPAUTHORIZATION that contains a signature from a
known investigator. This work is also the opportunity to split up the API client
part of the MIG console into a new package called mig/client. This will facilitate
code reuse, particularly for standalone command line utilities.
Similar to the work done on the api, instead of managing investigator's keys
with a gpg keyring on disk, pull the keys from the database and manage a
keyring in memory.
The addition here is the management of the scheduler's own investigator
identity, that's used during the upgrade protocol to kill old agents. That private
key is also stored in the database, with permissions that limit the access to the
column to the schedulers themselves.