sharing SerializationInfo for corert and coreclr (#18102)
* String to string in SerializationInfo
* Object to object in SerializationInfo
* Reducing diff between coreclr and corefx by renaming some variables.
* Reducing diff for SerializationInfo by simplifying code
* More cleanup
- Removing unused fields and making internals private.
- Removing unused namespaces
- Merge some comments
* Fixing up commets and removing object from object.ReferenceEquals(..)
* Minor fixups
* Moving to shared
* Applying PR feedbacks
* using IsRuntimeImplemented helper method for type
* using the CoreRT version and keeping ctor with extra argument