Context can be more easily configured for signature verification.

Arguments that are only required for signing messages are now optional.

`KeyStore::onlyKey()` has been removed; Context sets `signingKeyId` instead.

This simplifies the KeyStore interface, and importantly allows it to be implemented with a non-enumerable backend, where keys can be requested by name, but cannot be listed.

Context accepts `keyStore` object as an alternative to `keys` array.