Protect writes to lookup with hash check

This will avoid unnecessary writes if the data has not
changed.
as an aside, i'd be tempted to pull out ``translator.removeFieldsForHash(translator.toDbo(existingEntry)).hashCode();`` as a ``toHash()`` function for clarity