Add support for header scope type
Do not create duplicated routes for same name handlers to support versioning

Example:
{ url: '/users', version: '1.0.0' }
{ url: '/users', version: '1.2.3' }

should not create 2 entries in swagger