revised ping guessing code

no longer pings based on server_type, but instead
server_milestone_short.
this increases dependency of code to be aware of all types of server in
order to best-guess the first time, but will fallback to 1.7-style
protocol if not.  Over time, this approach will inherently be correct
more often as more packs upgrade to modern protocols.

currently supports 1.5+