[Fixes #885] API Explorer: Link Generation

1) Expose the simplified relative path template by cleaning up constraints, optional and catch all tokens from the template.
2) Expose the parameters on the route template as API parameters.
3) Combine parameters from the route and the action descriptor when the parameter doesn't come from the body. #886 will refine this.
4) Expose optionality and constraints for path parameters. Open question: Should we explicitly expose IsCatchAll?
Pretty clever. We might want to build a partial for displaying `IRouteConstraint` that's aware of our built-in types. Then you can show things like ranges, regexes, etc. 

Other way to go is to provide some sort of key-value metadata on the constraint via an optional interface. I think for now I like the dumb version.