lib/cpp: support unsigned types
lib/thrift: unsigned type bugfixes
compiler: generate cpp typedefs