Set up desched notifications and clear them. Another piece of #7.

This gets the desched machinery working for recording, but we fall
over in replay because get a trace event at the first syscall stored
in the syscall buffer, instead of the one that the tracee was in when
it was desched'd.  This is fairly tricky, needs more thought.

A few more features were added in service of desched

* sharing desched counter fds
* new fcntl() sub-ops
* clean up buffer-flush replay code a bit
* buffering sched_yield() (for testing)