Change dependency file format to spliced list and get rid of versions dependency

* The dependency file is now formatted as a spliced list which is easier
  to handle with line-based tools.

* Use core's version<=? function instead of the (not quite)
  equivalent from the versions egg. This saves us a dependency and makes
  the code more compatible with chicken-install's version
  handling (e.g. single digit verisons would not work previously).

* Sort final Nix expressions to make output more predictable

* Various other refactorings :-)
Fix return value handling of process-wait
Nicer indentation for generated Nix expressions
Eggify so we can use default eggDerivation installPhase
Add missing `files' unit to builtins
Add missing `foreign' unit to builtins
Fix default.nix after Moritz' changes.
Add todo.org
Regenerate egg-list (with nicer indentation).