Abstract the block version.

Wrap CBlockHeader::nVersion into a new class (CBlockVersion).  This
allows to take care of interpreting the field into a base version,
auxpow flag and the chain ID.