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.