beautified code, by removing posix_time:: prefixes.
switch protocol to async_strand so std::bind(...) cruft isn't needed everywhere.