Make PReader a pure abstract trait

- Removes two macros from PReader trait
- This is part of an effort to separate the pickling API from the
  macro implementation (see PR #132)