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
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 unittests for multiple ELSEs in a row

IF ELSE ELSE ENDIF is a valid construct; execution or non-execution
inverts on each ELSE encountered.
remove windows.h from crypter.cpp includes

- remove an unneeded windows.h include (comes from allocators.h, which is
  included in crypter.h)
Revert "Truncate oversize 'tx' messages before relaying/storing."

This reverts commit c40a5aaaf484855a4350fd702e8e72fd21a68155.
Simplify storage of orphan transactions

Orphan transactions were stored as a CDataStream pointer;
this changes the mapOrphanTransactions data structures to
store orphans as a CTransaction.

This also fixes CVE-2013-4627 by always re-serializing
transactions before relaying them.
Compile into build_test when creating bitcoin-qt_test
Merge pull request #2849 from petertodd/if-else-else

Add unittests for multiple ELSEs in a row
Merge pull request #2879 from Diapolo/translations

translations update for Transifex 2013-08-05
More unit tests for NUMEQUAL
remove a newline from a string in init.cpp

- to match all other translatable strings in init.cpp and to simplify
  translations via Transifex
Merge pull request #2881 from Diapolo/translations_rem_newline

remove a newline from a string in init.cpp
fix typo in README.md