Cleaned up constructor reflection code.

* There was a lot of duplicate code and tests between BurstAndroid and BurstJUnit4 for reflecting on constructors, refactored all that into BurstableConstructor and BurstableConstructorTest.
* Replaced all the exception-checking test code with ExpectedException equivalents.
Added support for discovering public injectable ("Burstable") fields in addition to parameterized constructors.

There was a lot of duplicate code and tests between BurstAndroid and BurstJUnit4 for reflecting on constructors, refactored all that into BurstableConstructor and BurstableConstructorTest.