Use per-message send buffer, rather than per connection
Revert "Actually use mapAlreadyAskedFor."

This reverts commit 643160f6e7e5e8ca84bc7d2c1a0f37d9cf43a6e1.

Turns out this commit was useless after a more careful reading of
CNode::AskFor
Add a limitedmap class similar to mruset
Move mapAlreadyAskedFor to limitedmap

This will result in re-requesting invs if we are under heavy inv
load, however as long as we get no more than 16,000 invs in two
minutes, this should have no effect on runtime behavior.