Normally the RevisionHeight is incremented at each height while keeping
RevisionNumber the same. However some consensus algorithms may choose to
reset the height in certain conditions e.g. hard forks, state-machine
breaking changes In these cases, the RevisionNumber is incremented so that
height continues to be monitonically increasing even as the RevisionHeight
gets reset
Please note that json tags for generated Go code are overridden to explicitly exclude the omitempty jsontag.
This enforces the Go json marshaller to always emit zero values for both revision_number and revision_height.