Make DPickler a pure abstract trait

- Removes macro invocation in DPickler
- This is part of an effort to separate the pickling API from
  the macro implementation