Fix up ping.cpp to use provided features to do low level stuff, adding
features to the library if necessary.

Reformat all the code according to the standard WF style.

tcp_socket_stream is passing a reference up to the next class to be
constructed before the stream buffer object referred to has been constructed.
This results in a "Conditional jump or move depends on uninitialised value"
error from valgrind.

Use a -DHAVESKSTREAMCONFIG_H to tell the code to include the genereated header, else
include a pre-defined one.
