Use port and name in the service def file path

It allows us to register a service multiple times with different ports
(for a service that exposes multiple ports)

NOTE: This is a breaking change since port is required to delete a service
Ports are not required for consul service definitions. Why are you marking this as required here?