Reintroduce encoding of proofs, export verification-related types
The proof.Bytes() disappeared with introducing range proofs. We might want to reintroduce this (could basically be an amino encoding of the proof). If we want to write (or others to write) a proof-verifier in other languages we can pass it the encoded bytes, describe how to decode them and how to verify the (range)-proof.
~At the same time we should export (and document) every verification-relevant type included in the proof (including proofLeafNode).~
Related to #242, should use the same encoding (probably Protobuf).
See #217 for proof documentation. The types have already been exported, updating the original comment to reflect this.
proofs are now handled by ics23 closing this