integration: Add BIP0009 state transition tests
integration: Add BIP0009 state transition tests

This adds tests which exercise the BIP0009 state transitions using the
newly available soft fork status information in the getblockchaininfo
RPC.

The following is an overview of the tests added:
- Assert the chain height is 0 and the state is ThresholdDefined
- Generate 1 fewer blocks than needed to reach the first state
  transition
  - Assert chain height is expected and state is still ThresholdDefined
- Generate 1 more block to reach the first state transition
  - Assert chain height is expected and state moved to ThresholdStarted
- Generate enough blocks to reach the next state transition window, but
  only signal support in 1 fewer than the required number to achieve
  ThresholdLockedIn
- Assert chain height is expected and state is still ThresholdStarted
- Generate enough blocks to reach the next state transition window with
  only the exact number of blocks required to achieve locked in status
  signalling support
- Assert chain height is expected and state moved to ThresholdLockedIn
- Generate 1 fewer blocks than needed to reach the next state transition
- Assert chain height is expected and state is still ThresholdLockedIn
- Generate 1 more block to reach the next state transition
- Assert chain height is expected and state moved to ThresholdActive

In addition, it updates the existing BIP0009 mining tests to include
extra assertions that the chain height is at the expected height in
addition to checking that the bits are correctly set according to the
expected state.

Roasbeef/btcd,ltcsuite/ltcd,btcsuite/btcd,davecgh/btcd,cqswxj2013/btcd,Roasbeef/btcd,btcsuite/btcd,tb00/btcd,aakselrod/btcd,Stash-Crypto/btcd,adiabat/btcd,wallclockbuilder/btcd,davecgh/btcd,jongillham/btcd,Stash-Crypto/btcd,dajohi/btcd,aakselrod/btcd,cqswxj2013/btcd,dajohi/btcd,tb00/btcd,jongillham/btcd,ltcsuite/ltcd,adiabat/btcd,dajohi/btcd,ppcsuite/ppcd,wallclockbuilder/btcd,ppcsuite/ppcd