[net] Don't use third-party "what is my IP" services.

This patch eliminates the privacy and reliability problematic use
of centralized web services for discovering the node's addresses
for advertisement.

The Bitcoin protocol already allows your peers to tell you what
IP they think you have, but this data isn't trustworthy since
they could lie. So the challenge is using it without creating a
DOS vector.

To accomplish this we adopt an approach similar to the one used
by P2Pool:  If we're announcing and don't have a better address
discovered (e.g. via UPNP) or configured we just announce to
each peer the address that peer told us.  Since peers could
already replace, forge, or drop our address messages this cannot
create a new vulnerability... but if even one of our peers is
giving us a good address we'll eventually make a useful
advertisement.

Rebased-from: a851bf84f6a2ff95bd86b23e55bb0647f5f47188
Rebased-by:   Warren Togami <wtogami@gmail.com>
Coin Control Features for Bitcoin 0.8.5

* fix transaction timezone display bug in output selection
* excluding Bitcoin 0.9 changes for #3008 and #2945
* merged src/wallet.cpp for nMinimumInputValue (mininput)
Litecoin: Adjust Coin Control for 0.8.5 for Litecoin

Display the correct fee including the per output sub-CENT dust penalty.
Coin Control improvements October 25th, 2013

* code nits
 * introduced GUIUtil::setClipboard
 * calling getBalance(coinControl) now in walletmodel.cpp
 * replaced "WARNING" with "Warning"
 * added notr="true" to ui non translatable strings
process received messages one at a time without sleeping between messages

Conflicts:
	src/main.cpp
	src/net.cpp

Rebased-from: ad38db6ae0a660fdc9997a097e97763d1d33dc3a
process one block per cycle to make resource allocation fair between peers
dont process the next message if we still have getdata requests queued
this maintains the order of responses that some peers might expect
sleep if the send buffer is full
parentheses to clarify the order of operations
sleep if the next message is incomplete
Squashed 'src/leveldb/' changes from be1b0ff..be91006

936b461 Merge upstream LevelDB 1.13.
748539c LevelDB 1.13

git-subtree-dir: src/leveldb
git-subtree-split: be9100673b05cec1662a54d0b7a59e4317fdda86
Merge commit '68a0ce0b73394056af8949b81e6136dc6e7fb9a2' into exp-0.8.5.2-rc5
Litecoin version 0.8.5.2-rc5