On update(): Don't save record if nothing has changed.

#### What's this PR do?
Currently, if you do an update on a ModelEndpoint, but only change tags, a save() is still done on the record. This patch checks for a change and only saves the record if a change has been made. 

The `to_python` change in `_extract_data` was done to enable a comparison of the incoming values vs the original record.