Rename module_source_relpath to module_relpath:

* The relative path of a module does not depend on whether or not it
  originates from the source path, or the build path.
Use the iterator when generating paths with the path functions
Use relative paths for in-source builds and full paths for out-of-source builds:

* in-source builds are now still valid after moving the source
  directory.

* out-of-source builds are invalid after moving the source directory,
  and the build directory also cannot be moved.

* This is better than both in-source and out-of-source builds being
  invalid after moving the source directory.  It's much easier to
  clean the out-of-source build then it is to clean the in-source
  build after the build has been invalidated due to a directory move.
Spell checked a comment