Add OpalSpec.matcher() to allow custom matchers to be defined