Adding API Explorer functional tests

After looking at this test (and I know that at least for now it's intentional) I realize that in the case where you have an action with [Route("template")] on the action and another one [HttpGet("template")] ApiExplorer will report that the first action can be targetted by any method (is not constrained) when in reality it might never match a GET request because a constrained action matches it.

I think we should consider having a way to convey that information whether automatically by understanding "action selection" or though an attribute. If I were someone that was going to use ApiExplorer to generate a Help page or something similar I would like to just consume the information in a way that makes sense, for example indicating that the action on [Route] can be invoked with POST, PUT, PATCH and DELETE, and that the action with [HttpGet] will be matched by GET.

The point I'm trying to make is that we should consider providing this information on API explorer in a way that doesn't require further interpretation so that other tools can care only about the format in which they represent it. I think this was one of the biggest pain points with the old design of Help Page.