Rework service lookup to allow absolute paths. Fixes #2336.