Added support for TCP ping

Adding support for TCP pings
Re-factoring changes to support easy enhancement various ping types