Add GetTimeMicros() for ore accurate benchmarking

Conflicts:
	src/util.h
Added ping time measurement.
New RPC "ping" command to request ping.
Implemented "pong" message handler.
New "pingtime" field in getpeerinfo, to provide results to user.
New "pingwait" field, to show pings still in flight, to better see newly lagging peers.

Conflicts:
	src/bitcoinrpc.cpp
	src/bitcoinrpc.h
	src/main.cpp
	src/net.cpp
	src/net.h
	src/rpcnet.cpp
Ping automatically every 2 minutes (unconditionally)

... instead of after 30 minutes of no sending, for latency measurement
and keep-alive. Also, disconnect if no reply arrives within 20 minutes,
instead of 90 of inactivity (for peers supporting the 'pong' message).

Conflicts:
	src/net.cpp
	src/net.h
Use pong receive time rather than processing time

Conflicts:
	src/main.cpp