chrono_io, ratio_io, alarms not limited to milliseconds, throw_stream(), etc.

chrono_io is very nice, we should use it.  granted it defaults verbose (meh) and it uses facets; not much choice on the latter, though.

kernel::clock and kernel::time_point are now joined by kernel::duration, and alarms and deadlines use it.  slowly but surely the hardcoded milliseconds are going away.

error_stream<> and throw_stream() should allow us to eliminate the most awkward of the exception format strings, and a few explicit ostringstreams as well.

make_backoff() infers its duration type, for when parameter types may differ.