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
instead of making it mutable, I would rather add a constructor argument accepting an array of matchers