Use PK instead of ID in the model list view and template

Deleting instances is broken if the model doesn't have an ID field. Switching to use PK instead fixes this (and potentially other issues).

Tests have been updated and the same number of misses are reported for me as before my changes. :-)