Make KeyConfigurator more composable

KeyFactory now creates the matcher object that KeyConfigurator
uses instead of KeyConfigurator creating it for itself. KeyConfigurator
now takes a Matcher object in its constructor.