Currently we are trying to use the header batches threshold to determine
the speed of generating headers, which depends on the rate of batch
creations, which in turn depends on the write rate. Instead, adding a
new `min_header_delay` parameter, which allows proposing headers before
reaching batch threshold, would make the header propose latency more
predictable especially under lower TPS.
For now, the `min_header_delay` is set to 1.8s, only slightly below
`max_header_delay`, to separate behavior change from this PR. We will
run experiments on different values. One possibility as @arun-koshy
proposed is to set `min_header_delay` to 1s and `max_header_delay` to
5s.
Also, ensure leader only needs to wait for parent stakes and nothing
else.