Currently there is a 100ms sleep in the message processing thread that adds delay to processing messages.
This patch skips the sleep when there is additional work to do.
Additionally ProcessMessages & ProcessGetData are modified such that their maximum run time is reduced; this improves the average latency peers see when there is high load. (This has a significant impact on high latency networks during initial block synchronization).