Renamed loadMatcherFuncs to findMatcherFuncs and support func(context.Context) (MatcherFuncDecision, error)

I renamed loadMatcherFuncs to findMatcherFuncs, since it doesn't actually do any loading of anything.

findMatcherFuncs now supports arguments of type func(context.Context) (MatcherFuncDecision, error), as well, so that users don't have to cast their matcher functions to MatcherFunc before passing them in.

I created a test that explicitly tests the three types of arguments that findMatcherFuncs should accept, to make absolutely sure that it is working.