UObject::ReinitializeProperties

Wrapper function for InitProperties() which handles safely tearing down this object before re-initializing it from the specified source object.