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).
@rybakit That's because user-defined instance methods can be called statically (though it does generate strict standards warning). See: http://3v4l.org/l3out