No forking Extra nonce added to Bitcoin header.

Block version set to 3.
Unittest included.
Re-define 15 unused bits of the version field as an extra nonce inside the block header.
Accompanied and explained by a BIP, see wiki (https://github.com/BlockheaderNonce2/bitcoin/wiki).
Not forking.
Backwards compatible with GBT clients that are not aware of this.

Timo Hanke & Sergio Lerner
Nit: Can you use __func__ here, too, so that no function name needs to be hard coded in log messages.