Mostly-complete implementation of DescribeTypeJSON

Adds support for bases and method parameters, the 'declaredBy' field and for coIlecting inherited properties.

Class-level stuff still missing
Finish implementation of DescribeTypeJSON

Adds support for the class's own metadata and includes some code cleanup. Not enough, but something.