Added shouldUpdateAttributesOfObjectWithID and shouldUpdateRelationshipsOfObjectWithID optional methods

This gives a chance to discard remote values for specific objects (to avoid conflicts if object is marked as 'dirty' for example)

Typical use case:
- I am doing a bunch of updates while offline, I want to save the context while offline not to lose any updates
- I am marking my updated records with a 'dirty' flag
- When I am notified that my changes have been successfully sent, I clear the dirty flag
- If records are fetched while my changes are being sent, these methods give me a chance to not update the records with the old remote values