Fix for 21983 update only changed facts

Uses clojure.data/diff to check for changed facts, then fires off the appropriate add/update/delete.  More info on the ticket [here](https://trello.com/c/BzoL6Z2K/1046-21983-during-replace-facts-command-only-update-add-delete-facts-that-change)