Python improvements: TypeDesc
* Make a more thorough unit test
* As a result, fix tons of little problems
* More complete Python support for TypeDesc features
* Some minor (back compatible) changes to C++ TypeDesc to make it easier.