Add documentation to CG/CPP.
Simplify canonicalType function with lower bounds.
Reorganize lib/runtime resources.
Add initial implementation of C++ runtime collections.