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
Please don't bump the version in a pull-request. We haven't yet released 0.5.0.