Use id (if present) 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). Pass unique service
id when registering a service.