Store signed tree heads

Currently no signed tree heads are stored. We should:

  • Store signed tree heads until they were verified to be consistent. This ensures that we can prove inconsistencies (if any are found).
  • Store the latest signed tree head that we verified to be consistent. Load this signed tree head on start-up and fetch any outstanding entries, so that we can verify that "index + entries" = next consistent root.