Change AssumptionViolatedException to not set the cause to null; fixes issue #494

Looking closer, I think this should be:

    if (!valueMatcher && (value instanceof Throwable)) {

This will lead to `initCause()` to only be called if you got here via the last constructor.

This is a slight change in behavior, but I wouldn't expect the following to throw an `AssumptionViolationException` with a cause:

    assumeThat(e, hasMessage("woops"));