Merged requested to merge fix-GL1276 into develop
remove registration and ownership before deleting a regIOobject from within objectRegistry to avoid possible recursion.
regIOobject destructor now removes any registered object from registry regardless if ownedByRegistry or not. It also removes always removes the ownership flag to avoid possible recursion.
the regIOobject::checkOut() now unconditionally clears file watches. These will only be there if the object is registered (a no-op for an unregistered object), but this additional safety is needed to manage case where the registration has been modified elsewhere (eg, by the objectRegistry).