Undoing commit
e58d750735048b76721ade950d3b9e0c75d201f7.
- Using the io_service reference instead of the shared_ptr, because it caused a
double freed error, because it was a stack object in the PingScheduler
(boost::asio::io_service IoService) and a smart pointer elsewhere,
thus, the smart pointers were releasing the stack memory. And once the
PingScheduler didn't had a counter by itself, the program was dumping
in the PingScheduler destructor.
Once the Boost.Asio library uses the reference itself (e.g.
basic_raw_socket(boost::asio::io_service& io_service, )), I decided to
keep like it was before.