Libtrust key management

Adds key management needed for TLS #7667 and provenance #8093 proposals.  This PR also introduces and vendors libtrust.  Libtrust is the primary library containing all the cryptography logic and primitives needed for further work in securing connections, authorization and provenance.

The result of this PR is that every client or daemon process will either create or load a private key.  This private key is unique to the user and the machine, the private key should never be shared and does not need to be moved.
update the tests in `test-integration` to reflect this change please