changed CreateNewBlock to return a CBlockTemplate object, which includes per-tx fee and sigop count data
use fee/sigop data in BlockTemplate struct instead of (not always correctly) calculating it ourselves
moved "index_in_template" to a separate variable to clarify what it is
Merge pull request #2115 from forrestv/getblocktemplate_allfees

Provide fee data for all txs in RPC getblocktemplate response
Add const versions of base_uint.end()/begin(), make size() const.
Add MurmurHash3 implementation to hash.h/add hash.cpp.
Add a CBloomFilter class for use as a transaction filter.
Bump PROTOCOL_VERSION for filter messages.
Add a filter field in CNode, add filterload+filteradd+filterclear
Replace RelayMessage with RelayTransaction.
Automatically add any matching outputs to a filter during matching.
Add a CBlock.GetBlockHeader
Add a CMerkleBlock to store merkle branches of filtered txes.
Add test cases for CMerkleBlock and CBloomFilter.
Relay CMerkleBlocks when asked for MSG_FILTERED_BLOCK
Let a node opt out of tx invs before we get a their bloom filter

Note that the default value for fRelayTxes is false, meaning we
now no longer relay tx inv messages before receiving the remote
peer's version message.
Add a nTweak to bloom filters to tweak the seed.
Add CPartialMerkleTree

This adds a compact representation for a subset of a merkle tree's
nodes.
Use CPartialMerkleTree for CMerkleBlock transactions.
Add nFlags to CBloomFilter to make filter updating optional.