Use async name resolving to improve net thread responsiveness

In the LookupIntern(), things changed are:

  1. Call getaddrinfo_a() instead of getaddrinfo() if available, the former is a sync version of the latter;
  2. Try using inet_pton()/inet_addr() to convert the input text to a network addr structure at first, if success the extra name resolving thread inside getaddrinfo_a() could be avoided;
  3.  An interruption point added in the waiting loop for return from getaddrinfo_a(), which completes the improve for thread responsiveness.

A easy way to see the effect is to kick off a 'bitcoind stop' immediately after 'bitcoind -daemon', before the change it would take several, or even tens of, minutes on a bad network situation to wait for the running bitcoind to exit, now it costs only seconds.

Signed-off-by: Huang Le <4tarhl@gmail.com>
Show nodeid instead of addresses (for anonymity) unless otherwise requested.
Merge pull request #3764

2e36866 Show nodeid instead of addresses (for anonymity) unless otherwise requested. (R E Broadley)
Add libtool generated files to .gitignore
Merge pull request #4421

caf6150 Use async name resolving to improve net thread responsiveness (Huang Le)
Add CaughtUp() function (needed by later commits)
Add nLastDataPos
Rearrange ProcessMessages
Don't request blocks when block invs received unless it's the syncnode, or we've CaughtUp()
Force selection of a new syncnode since the current syncnode is about to stop sending blocks.
Replacement stalled block logic. Depending on the situation, it will either disconnect
the peer (as previous behaviour), or it will reselect a syncnode (e.g. when 500 blocks
have been received from the syncnode).
Add commandline option for sync timeout
Rename MarkBlockAsReceived to MarkBlockAsRequested to reduce confusion.
Show nodeid instead of addresses (for anonymity) unless otherwise requested.
Debug when a block is incoming and show how many blocks still to come.
Show count/info of block invs received.

Conflicts:

	src/main.cpp
Show downloaded block size and time taken to download.
Improved getblocks logging.