Custom Primary Keys

All adapter tests passing!
- Adds support for custom primary keys