Change the way we invoke JUnit so we can have a default timeout for JUnit 4 tests.

Summary:
I spent quite a bit of time in the JUnit source code trying to figure out
how to do this because JUnit does not support the idea of a default timeout.
(I think it did in JUnit 3, but in JUnit 4, it is the responsibility of every
developer to specify an appropriate timeout in the `@Test` annotation.)
I basically came to the same conclusions as this person:

http://www.attivio.com/blog/56-java-development/379-enhancing-junit-with-default-timeouts-and-stack-traces.html

However, I was able to get things working without introducing a new classpath
entry as they do in the article. As this diff is coded against internal APIs of
JUnit, we need to figure the versions of JUnit with which this diff is compatible.

Ultimately, we should try to patch JUnit and get our changes upstreamed to make
this sort of thing easier.

Test Plan:
Modified `.buckconfig` to be:

```
[test]
  timeout = 1000
```

and ran `buck test --all` and saw a bunch of tests fail.