Replace promiseAllOf with a more general allOf matcher.
Use the same concept for anyOf and every.
Guard assertThat against accidental use of promise matchers
All but one matcher that take submatchers as argument allow these matchers to return a promise for `matches` or `describeMismatch`. The only exception is `containsInAnyOrder`.
Remove "willHaveProperties", as it was an ambiguous combination of "willBe" and the new "hasProperties".
Merge branch 'promised_ham'
Remove test code + fix lint errors
2.5.0