Refactor to remove compute_block_reward

- No longer require that block reward can be computed from height.
- Remove Chain's dependence on BlockHeader. Instead inline appropriate
  fields in Chain structure.
- Change step_block to use a BlockHeader now instead of manually
  specifying all the fields. The new BlockHeader now additionally
  contains the creator and reward of that block, so step_block in effect
  contains the reward.
- These refactorings means that the circulation proof changes. Introduce
  created_blocks to get list of blocks created by user, and prove
  instead that the circulation equals the sum of rewards in blocks.
- Rename "baker" to a more general "creator" globally
3 jobs for master in 6 minutes and 18 seconds (queued for 2 seconds)
Status Name Job ID Coverage
failed coq:8.8 #93115


passed coq:8.9 #93116


passed coq:dev #93117


Name Stage Failure
coq:8.8 Build
CoqMakefile:656: recipe for target 'theories/LocalBlockchain.vo' failed
make[2]: *** [theories/LocalBlockchain.vo] Error 1
make[2]: *** Waiting for unfinished jobs....
CoqMakefile:317: recipe for target 'all' failed
make[1]: Leaving directory '/builds/jakobbotsch/smart-contracts'
Makefile:7: recipe for target 'all' failed
make[1]: *** [all] Error 2
make: *** [all] Error 2
ERROR: Job failed: exit code 1