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
Yes this will make it very hard for extensions to override MatchersMaintainer behaviour