Support parameterized types for ORM

The previous java client only supported raw types for our ORM. 

This builds on all the other work I've been doing and provides support for both raw and parameterized user classes for ORM.