Encapsulation of crypto related functionality
Right now we have two main `crypto` APIs: `iroha::crypto` and `ursa`.
Main entities of both APIs:
- Private and Public Keys
- Signatures
We already have an abstraction over some `ursa` entities. Proposal is to encapsulate everything under `iroha::crypto` do not exposing `ursa` related entities outside this module.
It means that new methods for generating keypairs and signature verification would be added to `iroha::crypto` with wrapper entities (Public/PrivateKey).