Allow setting a key attribute to what it already is

Generally, attempting to set the key attribute on a persisted record is a
no-go. However, if you're setting it to the same thing it already is, no harm
done; it's just a no-op.
Merge pull request #158 from outoftime/allow-noop-key-update

Allow setting a key attribute to what it already is