rewrote tests, revealed (real) bug

 I've pushed the tests a bit further in the direction started by @johlrogge, namely (more) similar to how assertions are tested in referee itself. I turned around a few things so the appearance is now a bit different.

Main goals were to have better test names, st. in case of failure (of referee-*combinators*  tests) it's really clear and concise what has been tested,
and also to make it more flexible st. new kinds of tests can be added more easily (both pretty much achieved, IMO).
As an example for the latter: I found that it should be possible to give an optional failure message which should be passed on to the underlying "normal" assertion, and implemented it. What's missing is tests for it so that will show if I made the scheme sufficiently flexible.

Another thing (not yet done) is that we need to improve the way failure / passing (of *constructed* 'partial' assertions) is being tested for, simple `[assert|refute].exception(..)` ain't enough. Consider `referee.throwOnFailure = false`...

What I did so far actually revealed a real bug (as opposed to bug in tests), as I think: `assert.equals(42, "42")` passes while `combinators.assert.equals(42)("42")` fails [EDIT: this should rather be `combinators.assert.equals("42")(42)`, see below].

Well, ideally the tests for combinators should verify this statement: "ALL 'partially applied' assertions from combinators behave *exactly* like the 'normal' (except for how they're called)".
Something like "in appropriate manner, check all tests that exist for referee assertions on combinator assertions as well".

Beware: this pr is far from done, it is rather TBD.