C++11

Reference #1401.

Change much stuff to use new library.
Shouldn't `PING_TIME_MS` be `static const`?