Actual exception added in ExpectedException

When using the ExpectedException to test for an exception to occur, it
throws an AssertionError when thrown exception does not match the
expected exception. Issue is however that in the JUnit runner results only
the actual exceptions message is shown and not the stacktrace. To fix
that, the actual exception is added to the cause of the AssertionError,
giving the exceptions in a format like:
java.lang.AssertionError: [reason]
  Expected: [expected exception]
     got: [actual exception + message]
 at [AssertionError stacktrace]
Caused by: [actual exception + message]
 at [actual exception stacktrace]
Actual exception added in ExpectedException

When using the ExpectedException to test for an exception to occur, it
throws an AssertionError when thrown exception does not match the
expected exception. Issue is however that in the JUnit runner results only
the actual exceptions message is shown and not the stacktrace. To fix
that, the actual exception is added to the cause of the AssertionError,
giving the exceptions in a format like:
java.lang.AssertionError: [reason]
  Expected: [expected exception]
     got: [actual exception + message]
 at [AssertionError stacktrace]
Caused by: [actual exception + message]
 at [actual exception stacktrace]
Merge branch 'master' of github.com:arjenw/junit
Reused HasWrongExpectedException instead of own defined class
(they were the same) and relocated the changes to a better location
in the file which is more inline with the rest of the file. And,
of course, removed the superfluous brackets.
Merge branch 'master' of github.com:arjenw/junit
Implemented the change now on org.junit.Assert.assertThat() as I think
that's a better place and has cleaner code than the original. Included
tests for both scenario's (assertThat as well as the ExpectedException).
* Removed empty line in ExpectedException
* Moved CauseMatcher to ResultMatchers and splitted it up in two
matchers (failureIs and causedBy)
* Added tests for both matchers
Reworked based on suggestions
* Fixed the javadoc of ResultMatchers.failureIs()
* Made the ResultMatchers.failureIs() matcher based on PrintableResult instead of Result
* Introduced method 'getFailures()' in PrintableResult to achieve that
* Moved causedBy() matcher from ResultMatchers to JUnitMatchers (as it is a Throwable matcher)
* Introduced the required tests at the right places
TestWatcher javadoc was not correct for example method names
Merge pull request #434 from matthewfarwell/testwatcher-description

TestWatcher javadoc was not correct for example method names
Renamed ThrowableMatcher to CauseMatcher (including accompanying test) and fixed the oddly indented brace
Files referring to the new CauseMatcher including the CauseMatcher itself
Merge branch 'master' of git://github.com/KentBeck/junit

Conflicts:
	src/test/java/org/junit/tests/AllTests.java
	src/test/java/org/junit/tests/experimental/rules/ExpectedExceptionRuleTest.java

Merged changes from the HEAD branch

Besides the merged changes also the approach to test for the failure has
been changed to comply to the new way of testing in
ExpectedExceptionTest. That no longer required the changes in
ResultMatchers (with their accompanying tests)
Merge pull request #369 from arjenw/master

Improved information with failed ExpectedException assertion