Remove locally-defined typedef that isnt used (fix compile warning)
Move transaction collection to a separate function.
Keep track of when transactions entered the mempool.
Implement feeOrPriorityRequiredForNextFewBlocks based on mempool
Fix incorrect comment.
Remove option to skip checking inputs in AcceptToMemoryPool.

The only case this actually effects is ReacceptWalletTransactions,
and in this case, if a transaction can't get into mempool, its
largely hopeless anyway (we should assume the tx "expired")
Switch to a memory-limited mempool and use CTx::GetPriority

This makes mempool memory-limited instead of unbounded based on
seemingly arbitrary fee limits.  It requires a few additional
maps to keep track of transactions with high priorities and high
feePerKbs so that removing old transactions is fast.

By default, when the mempool reaches MAX_BLOCK_SIZE*10 total
transactions by size, it removes transactions to reach
MAX_BLOCK_SIZE*9 total transactions by size.  It first removes
all transactions which have been in mempool for longer than 144
blocks (1 day).  If it is still larger than MAX_BLOCK_SIZE*9 after
that, it picks the top MAX_BLOCK_SIZE*7 transactions by feePerKb,
and the top MAX_BLOCK_SIZE*2 transactions by priority and throws
the rest away.
Refactor GetMinFee (TODO: handle the mempool-didnt-respond case)
Set hard limits on tx prio/fee based on the txn we throw away.