Fix risky testRejectRequestWithMissingParameters test

PHPUnit flags testRejectRequestWithMissingParameters as "risky" because it
doesn't make any assertions (it only asserts the failure case, but the code is
unreachable when the extension is working as it should).

The solution is to push the try/catch out of the test code and replace it with
an @expectedException annotation in the method's comment block, which amounts
to a declaration that the annotated method must throw the specified exception
for the test to pass.

But we also don't want PHPUnit to pass the test based on a single failure,
because we want it to validate the handling of each required parameter.
PHPUnit's solution for that is the @dataProvider annotation, which names a
method that PHPUnit should call in order to get test data to feed into the
test.

I rather like PHPUnit's approach, because it keeps control structures that are
properly part of the test harness (like recovering from intentional exceptions
or iterating through test data) outside of the test code itself, which makes
for clearer, more direct unit test code.

Change-Id: I757fccd45c1f82c0c2b5d4b8fde0b53f196233ee
Merge "Fix risky testRejectRequestWithMissingParameters test"