STUD-2557: Modified so that hateoas will call the largest super constructor

@dlamy @jfairley

Previously, you had to define a no-arg constroctur in order for hateos to work correctly.  This PR modifies hateoas to be able to work with objects that don't have no-arg constructors.  I accomplished by modifying Hateoas to detect the largest constructor and then build a 'super(...)' call using the param types from the largest constructor.