Fix of #179: Custom attributes are not correctly reverted when calling revert

This pull request contains a Fix for #179: Custom attributes are not correctly reverted when calling revert()

@alexspeller:  Tests were taken from your Pull Request #206: Fix with horrible hack

The fix simply clears the cache and notifies any interested observers. Once a property is accessed again, the properties "raw" value will be deserialized again (from _data).

Hope you agree