More specs for primary-key support.
Refactor code slightly.
Document how primary-key columns support works.
More docs and comments.
Fix some issues with AR 3.0.x, 3.1.x.