Add toString() and hashCode() methods
Add factory class for constructing type descriptors

Initial method for constructing a type descriptor from a flat list of
classes.