Use id (if present) in the service def file path

It allow 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.
Merge pull request #62 from thedebugger/use_id_in_path

Use id (if present) in the service def file path