Send multiple inv messages if mempool.size > MAX_INV_SZ

Changes the response to the 'mempool' command so that if
the memory pool has more than MAX_INV_SZ transactions (50,000)
it will respond with multiple 'inv' messages.
Refactor: CTxMempool class to its own txmempool.{cpp,h}
Mempool refactors/cleanups

Remove mempool locktime support for obsolete 0.1.5 clients

Refactor: CTxMemPool::lookup

lookup now returns a boolean and, if lookup is successful,
a CTransaction. Cuts down on number of lines of code and
potential for error.

It also acquires the CriticalSection itself; I'm working towards
making CTxMemPool better encapsulated.

Refactor: CTxMemPool.fSanityCheck

Encapsulate the sanity-check flag.
Refactor: move GetValueIn(tx) to tx.GetValueIn()

GetValueIn makes more sense as a CTransaction member.
Add verbose flag to getrawmempool
estimatefees JSON-RPC method

Watches memory pool transactions to estimate miner's selection
policy, and, therefore, fee/priority needed to get into a block.
Save/restore mempool
New relay policy

Use estimated miner policy to accept all high fee or priority transactions,
but start dropping low fee/priority transactions (and drop almost all
very-low-fee, very-low-priority transactions).
Refactor AllowFree(dPriority) --> CTransaction::dMinFreePriority

Also moved CTransaction static vars from main.cpp to core.cpp
And added new knob for miners: -minfreepriority to override
default COIN*144/250.
remove GetMinFee, replace with mempool.estimate
Un-harcode the "is dust" test, use mempool estimate of min fee
Remove CTransaction::nMinRelayTxFee
Update release notes with fee changes