Covert Assert & Matchers to be Traits

Makes them a bit more composable AND doesn't lose anything: static
methods can be called directly from a trait name.