[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?
I think that both are valid interpretations but that providing a starting '/' is more for presentation purposes.
```
api/Products 
/api/Products
```

both look good to me. As long as we provide the right segments on the path, the fact that we put a forward (or trailing) slash doesn't seem important to me, it's just a matter of style. Is there any reason why we want to provide the starting / ?