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.
Merge pull request #876 from madrob/#875

Change the Timeout rule to never timeout the test if zero is passed in. Fixes #875