Remove <base/time.h>, moving all uses to std::chrono

Also update some related things (TTimerFd) to use std::chrono while passing through.

orly/indy/manager_base.h: Changed fairly significantly in order to migrate to chrono. Restructured minimally to try to keep things fairly relatable / readable.
orly/indy/disk/durable_manager.h: I did some moderate refactoring to reduce duplication
Change JHM to use std::chrono rather than the old C struct for time (timespec)
util/time: Add another useful function
Pull out SleepUntil to be a helper function doing the check first optimization

At least at one point in the past the optimization was added because it was a significant perf win.
orly/indy/manager_base: Remove an excess system call
util/time: Update some documentation, move functions to better names
Add a cpu_clock which provides a chrono compatible clock wrapping CLOCK_THREAD_CPUTIME_ID

Requirements: http://en.cppreference.com/w/cpp/concept/TrivialClock
Update <base/timer.h> to use std::chrono

And update all users.

Pulls in a rather large bit of making <orly/perf/kv_exercise> compile again
Fix random test (It just had a bad comment at the top...)