ConCert: A Smart Contract Certification Framework in Coq