Reengineering

Tweaks to make relative paths work better:

• when recursing into transitive dependencies, use the baseDir of the current module
• generate source paths relative to the nix registry file when the version spec is a relative path