merging upstream
Merge branch 'master' of https://github.com/junit-team/junit
Adding error message in case file separator is used on TemporaryDir creation String
Fixing formatting erros, Removing Typos, Fixing Javadoc, and learning...
Reverting some setting changes
Removing expection wrongly added
Removing more eclipse files added by maven plugin on my machine
Fixing identation
Fixing identation again
Fixing test
Fixing identation again
Fixing message to use String.Format
Fixing String.Format indenting
Improving error message
improving redability
Restore field names with f prefix. Fixes #960.

The prefix has been removed by df00d5eced3a7737b88de0f6f9e3673f0cf88f88,
because we changed the coding style. Unfortunately IntelliJ IDEA reads
ClassRequest.fTestClass and FilterRequest.fFilter via reflection. (See
http://grepcode.com/file/repository.grepcode.com/java/ext/com.jetbrains/intellij-idea/13.0.0/com/intellij/junit4/JUnit4IdeaTestRunner.java/ ) This makes it impossible to
start tests by using IntelliJ IDEA.

There is already an issue at JetBrains:
[IDEA-127349 ](http://youtrack.jetbrains.com/issue/IDEA-127349) We can
revert the fix when this ticket is solved and most users are using an
IntelliJ version with the fix.
Merge pull request #961 from stefanbirkner/intellij

Restore field names with f prefix. Fixes #960.
Feature to disable TestRules when the test class being ran has been
launched in debug mode.

This feature is immediately useful with @Timeouts by disabling them
during debugging allowing developers time to debug at their leisure
without the test terminating abruptly.

Timeouts or time sensitive logic in the code under test is not handled
by this feature and may make this unuseful in some circumstances.

The important benefit of this feature is that you can suspend rules
without any making any modifications to your test class to remove them
during debugging. Anecdotally removing timeouts for debug purposes often
results in developers forgetting to restore them (including myself!).
Do not include thread start time in test timeout measurements.

The time it takes to start a thread can be surprisingly large.
Especially in virtualized cloud environments where noisy neighbours.
This change reduces the probability of non-deterministic failures of
tests with timeouts (`@Test(timeout=…)`) by not beginning the timeout
clock until we have observed the starting of the task thread – the
thread that runs the actual test. This should make tests with small
timeout values more reliable in general, and especially in cloud CI
environments.

No tests added for this because of the probabilistic nature of the
problem, and the small scope of the change.
Merge pull request #956 from kay/disable_on_debug

TestRule to disable specific other TestRules when debugging without modification to the test class