If deserializing an Externalizable that is no longer Externalizable,
find a readExternal method anyway and invoke it if possible.
Extract protected methods for reading Externalizable and Serializable,
for potential overriding by subclasses
Put context in try/finally
Remove context when calling readObject0
Throw an exception rather than silently skipping data if an
Externalizable deserializes as a non-Externalizable with no findable
readExternal method.