Do not mark as Unloaded object refering to decl that will not be unloaded
Mark TClass::ResetClassInfo(Long_t tagnum) as deprecated
Only update the TClass if the definition is being unloaded.

And not when it is 'only' a forward declaration
Improve state TClass' state transition when loading or unloading ClassInfos.

In ResetClassInfo, avoid forgetting that a TClass was created by a dictionary.
In SetClassInfo, also transition the state when the ClassInfo is found but invalid.
In SetClassInfo, properly set the state if we have 'only' StreamerInfos as a source of info.
In ResetClassInfo, do not use SetClassInfo.

Just delete the ClassInfo and rely on the TClass' state to be accurate/good enough to
recreate the ClassInfo when needed.

This (and the related commits) fixes ROOT-6804 and ROOT-6806