Fix #31 - Custom setter breaks Entity::isModified()

Instead of checking if `_dataModified` size is non-zero loop through all properties in the array and check if value
has really changed. Not sure if this is the correct way. Maybe `set()` should be changed so that it does not mark properties dirty when new value is the same as old value?