Refactoring the ControllerActionDescriptorProvider

This change will remove IActionDiscoveryConventions, and merges the functionality contained therein into a new extensibility point that discovers and creates `ControllerModel` instances.

I think it's best the way it is. Making them `Attribute` doesn't tell you anything else about them. I also want to keep the name as `attributes` because that's where they come from.