Added simple transient ProtectedRegion functionality

Added transience property to ProtectedRegion as a flag to only be stored in memory and not saved.

The transience check in isDirty() is needed so saveChanges() does not include transient regions.
This is tested and working as expected.
this could be ``if (isTransient()) return false;``