Possible fix for invalid address (0x....) in action

According to the Dtrace book pp 1066-1067, if this error is occurring, moving the dereference of the address to the corresponding return probes (if possible), should fix this.
On entry, the address may be valid, but the actual memory pages haven't been faulted in yet. This may require assigning the address to a thread local variable on entry for reference in return.

arg0 is saved to self->fd and used in the read return to dereference the fp.

Additionally, this script is modified to track syscall::read, syscall::pread, syscall::write, and syscall::pwrite.

Will test further.