This PR adds a parameter for an earliest height that a BIP can transition from LOCKED_IN to ACTIVE.
The purpose of this is to allow the started period to be the same as the date of release, and allow for signaling to collect while guaranteeing an absolute block height where a BIP may not be active before.
In practice, this does not introduce additional delay, because it allows safely setting the started height earlier than would otherwise be safe. E.g., if a release was scheduled today to have started at today + 3 months, and finish at today + 1 year & 3 months, under this change it would be safe to make started today and finish at today + 1 year (& 3 months, perhaps?) with an earliestheight of today + 3 months. Earliest Height should be compatible with BIP-0008 deployments not wishing to use it as they may set earliestheight to startheight (or, 0) and it will have an equivalent semantic.
This provides a safer upgrade window warning during an activation early on in a BIP-0008 deployment, where if a deployment is processed expediently by minin nodes, non-mining nodes have more advanced warning time to update software before the definite activation date.