fixes #875

Fixes https://github.com/junit-team/junit/issues/875

In versions 4.7 through 4.11 setting up a Timeout Rule with a value of
0 would result in no timeout. In 4.12 FailOnTimeout switched to using
FutureTask.get(timeout). That method treats non-positive timeouts to
mean "timeout right now".

This fix checks that the timeout value is positive before using it,
and otherwise will wait indefinitely.