Refactoring to remove keys field

Appears to pass tests, removes all instances of the `keys` field on
models and instances, and replaces it with the ability to pass an array
to `id` to represent multiple primary keys.