Add HMAC-SHA512 to hash
Generalize version bytes
CWallet::TopUpKeyPool() takes optional pool size argument

Also, GetKeyPoolSize() now returns an accurate type, unsigned int.
RPC: keypoolrefill gains optional size parameter
BIP32 derivation implementation
BIP32 test vectors
Disable variadic template support in C++11
Fix boost uint type bug by reordering the includes
Add missing constant for solaris
Ignore SIGPIPE signal on Solaris
Fix fcntl include in net.cpp & netbase.cpp
Detect any sufficiently long fork and add a warning.

Such a fork is defined as being at least 7 blocks long and
having a tip which is within 72 blocks of our best block.
Call the -alertnotify script when we see a long or invalid fork.
Better warning/"alert" messages for large-work forks.
Add 'chainwork' to getblock

Returns nChainWork from the block index, the total work done by all
blocks since the genesis block.
Compile into build_test when creating bitcoin-qt_test
More unit tests for NUMEQUAL
Make RPC password resistant to timing attacks

Fixes issue#2838; this is a tweaked version of pull#2845 that
should not leak the length of the password and is more generic,
in case we run into other situations where we need
timing-attack-resistant comparisons.
do not call BuildMerkleTree() unnecessarily twice
Use HandleError() consistently to handle leveldb errors