Add protection against missing CodeGen.
Build the lists before filling TProtoClass.
Add default ctor; avoid alloc in ctor.
Call the proper base class streamer!
Revert "Add clarifying comment."

This reverts commit a409d5778e2aa5f9221530e2010c0d0736e49e29.
Revert "Make TRealData persistent."

This reverts commit 48d82dee0a85abacea78e898f0d2149aa6177106.
Base streaming is done by *ClassBuffer().
Move TProtoClass functions into TProtoClass.cxx; add TProtoRealData.

TRealData is now stored in a new structure TProtoClass::TProtoRealData.
Its list is stored as a series of these objects, separated by TObjStrings
that signal a new parent TClass for the data members. It is only reconstructed
when building the target TClass, not when reading the TProtoClass.
Use new interface to create a TProtoClass.
We can now visit abstract classes.
Do not diagnose in case of transient classes.