Implement BIP8 lockinontimeout
Implements the lockinontimeout parameter and MUST_SIGNAL phase of BIP 8, along with some tests. This PR is largely the non-refactor portions of #19573.
Additionally the lockinontimeout parameter is made configurable through a -vblot command line option as has been suggested by many people. Note that no attempt is made to have lockinontimeout=true or lockinontimeout=false nodes try to find peers with the same policy. However nodes that set -vblot will have a user agent comment indicating this.
Built on #21392 for the change to height based version bits, and #21399 for the renames.