Add missing JUnit assertions and matchers

## Context
Some JUnit assertions and matchers were needed.

## Description
- Add `IsCollectionNotContaining` and `StringMatches` classes, 2 new matchers for JUnit assertions.
- Add `hasNoItem` and `matches` methods to the `JUnitMatchers` class.
- Add `assertHasLog` and `assertHasNoLog` methods to the `ListAppender` class.
- `LoggerRule` class : add `setDumpOutputOnFailure` method to dump output only when set to `true`.

## Examples of usage : 
- ListAppender
`ListAppender appender = ....`
`appender.assertHasLog(JUnitMatchers.equalTo("A log entry that must exist"));`
`appender.assertHasNoLog(JUnitMatchers.equalTo("A log entry that must not exist"));`

- StringMatches
`assertThat("ABCD", StringMatches.matches("(.*)B(.*)")); // OK`
`assertThat("ABCD", StringMatches.matches("(.*)Z(.*)")); // fail`

- IsCollectionNotContaining
`assertThat(Arrays.asList("A", "B"), IsCollectionNotContaining.hasNoItem(JUnitMatchers.equalTo("A"))); // fail`
`assertThat(Arrays.asList("A", "B"), IsCollectionNotContaining.hasNoItem(JUnitMatchers.equalTo("Z"))); // OK`