This changes make() to always return an instance of the subclass,
creating one on the fly if the value is not known, and updates the typ
registration code to deal with this. It also adds typing annotations to
make().
* Add missing int check.
Some older versions of python weren't rejecting non-int values.
* Fix int check.
Raise TypeError for non-int, not ValueError, to make tests happy.
* Annotate to_text/from_text.
* Remove many the_ prefixed variables.
These were needed in the past to work around typing issues.