track udp socket stats properly

-track udp sockets with 0 peerIP
-set peer hostname in all cases
-refactor TrackerSocket to SocketStats
-fix memory leak with improperly freeing SocketStats (peerHostname was not freed)

fixes #160