Remove manual clocks / hand-rolled timekeeping (timespec) code

This moves it all to std::chrono which provides much cleaner facilities for working with time data and pushes the units into the C++ type system.