Make Junit3 class more consistent with JUnit

When calling suite() method or creating a TestCase check to see
if it fails with an InvocationTargetException and if it does
extract the cause and use that when reporting the failure.

When a suitable constructor for a TestCase (either no args or
one with that takes the name) then use the same message as JUnit

Add an explicit check that a TestCase class is public and if it
is not then report the same message as JUnit does.

Bug: 27940141
Change-Id: I935b5894e3e12f4e23d82dcfa30e4177971e5bb8
1 file changed