Changed signatures of newInstance(CtorAndArgsProvider, length) and  newInstance(CtorAndArgsProvider, lengths...) in StrcuturedArray to take a first elementClass argument. The extra arguyment is somewhat redundant but consistent with other newInstance call forms. The change was made primarily to allow StructuredArray subclasses to naturally use the shorter forms (newInstance(CtorAndArgsProvider, length)) without colliding with the base class and running afoul of Java 7's erasure rules in compilation (Java 6 was happy with the overlap, but Java7+ doesn't like it).
Merge remote-tracking branch 'origin/master'