Make Task::read/write() work properly for all addresses.

The changes in rec_process_event.cc probably look like gratuitous
refactoring, but actually they serve as tests of Task::read/write()
correctness.  Without this patch those reads fail.

Resolves #720.

Took much longer than it should because I got sidetracked trying to make the code stat-correct, but that turned into a rathole.  So, TODO.