[major] API refactoring to add investigator lookup/creation endpoints and search

The management of public GPG keys is finally improving! This is the first building block that will allow MIG to automatically manage keyrings based on the content of the investigators table.
Step 1 adds a /investigator endpoint to the api where new investigators can be created via a POST request that contains the public key. The API will validate the pubkey format and store it in database.

Step 2, in progress, will retrieve the content of the database at regular intervals and recreate the scheduler and api keyrings on disk. Management of agents keyrings is not planned in this pull request.

Extra goodies include a complete rework of the /search api endpoint, to search on all criterias instead of a mix of some but not all whatnotness...