Don't create unnecessary String and StringBuilder objects for logging.
Smarter datagram parsing throttling with timed windows.
Clients send repeated bursts of UPnP messages per second, with too many
devices on a network this kills the phone CPU, we're only responding to
clients for a limited window of time and then make them wait.
To-Do: Make the interval between windows a function of the number of
clients making requests.
Torrent downloads now use native SHA1 and MD5 digests. Less CPU usage.