[memaccess] Renamed the reading interface

The name Process didn't reflect its intantion, it's actually a
ProcessMemoryReader, because that's what it was created for.
Complete refactor of the codebase.

The most important bits are:
* Finished extracting a ProcessMemoryReading interface, moving code to
  its suitable place, and separating the different concerns.
* Consistent error handling across all the project