Check both the function and the method via '@requires function' annotation

Make `@requires function ReflectionMethod::setAccessible` work according to the [documentation](http://phpunit.de/manual/4.1/en/incomplete-and-skipped-tests.html#incomplete-and-skipped-tests.skipping-tests-using-requires).
@staabm I thought about that too. I ended up deciding that using `@requires` doesn't necessarily indicate that the method will be called directly from the test code. I guess that's a pretty weird use case, but I don't really see much harm in allowing it.