Support dynamic primary keys and cache the quoted value

@dylanahsmith look ok to you?

Closes #70.