Support multiple signers of different types behind a HSM feature flag, and support in principle selecting which signer to use for which purpose. (#539)