Update dependencies for mockito

Removed mockito-all artifact and replaced with independent artifacts
for hamcrest and objenesis
Update Hamcrest and Objenesis to latest
Generalize DropwizardAppRule

`DropwizardAppRule` uses reflection to invoke the nullary constructor of
the target `Application`. However, applications that don't define a
public nullary constructor cannot be used.

This affects all Scala Applications, because the app is defined as an
Object, (which has a private nullary constructor).

This will also affect apps that are parameterized in some way, or that
protect the nullary constructor (e.g. for Singletons).

By introducing a `newApplication()` method and providing the current,
reflection-based implementation as the default, users may override this
to provide instances of their application themselves.
A servlet filter that adds request identifiers to slf4j's mapped diagnostic context (MDC) , it allows logging output at multiple levels of your service to be easily grouped by the originating request.

- Updated RequestIdLoggingFilter to add support for checking clientId's against a regex for validity.
- Updated LoggingExceptionMapper to use the Service-Request-Id if it's available in the MDC.