[TermInfo] More safety with more stringent TermInfo constructors.
- Should allow us to avoid uninitialized label dictionaries, etc.
- After all, you never want to initialize a TermInfo (or a TermSetInfo or TermGroupInfo or TermStoreInfo) without its ID. Avoiding partially initialized objects helps us avoid a whole class of annoying NullRef-type errors.