Remove duplicate nicknames in generated Swagger documentation

Fixes #398, which describes how the current Swagger documentation contains
a handful of instances where multiple API operations have the same
nicknames. This occurs when multiple routes with the same third path
segment resolve to a single method.

This change resolves the issue by calculating a unique nickname for each
route, and ensuring that duplicate routes are only documented once.