Node support for Tor hidden services

This commit adds support for .onion addresses (mapped into the IPv6
by using OnionCat's range and encoding), and the ability to connect
to them via a SOCKS5 proxy.
Rewrite CNetAddr::GetReachabilityFrom()

Add support for Tor/I2P networks, and make code more readable.
Add -tor and related configuration
Debug version messages
Some documentation about tor
Changed a comment about a QVariant type
Quieten 'getdata' P2P message output

Output one message per getdata, not one message per 'inv' entry.
Merge pull request #1503 from gmaxwell/testnet_tweaks

Remove some rule differences which aren't needed with testnet3.
Merge pull request #1174 from sipa/torhs

Tor hidden service support
Merge branch 'master' into async-ipv6-rpc
Cancel outstanding listen ops for RPC when shutting down

Use Boost's signal2 slot tracking mechanism to cancel any (still open)
listening sockets when receiving a shutdown signal.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
On Windows link with `mswsock`, it being required (indirectly) by RPC code

Signed-off-by: Giel van Schijndel <me@mortis.eu>
Document -debugnet option in command line help.

Fixes #1507
fix a comment to correctly use -upgradewallet
Merge pull request #1517 from Diapolo/fix_comment

fix a comment to correctly use -upgradewallet
Update comments
Add Bitcoin dev Copyright
Checkpoint at block 185333 (and remove a couple of intermediate checkpoints)
Merge pull request #1501 from fanquake/master

QT to Qt
small updates to Bitcoin-Qt project file

- add noui.cpp to SOURCES (to see / edit the file)
- re-word a comment and remove a space