Move default matchers to container

This PR moves the creation of the default set of matchers from MatchersMaintainer into the container.  The two reasons for this are:

- only instantiate the default matchers once
- allow additional matchers to be inserted into the container by extensions
this is wrong. You should keep it lazy instead of instantiating it directly