Support multiple files with the same name.

Previously, if two or more files had the same base filename
only one would be documented. The others would be overwritten.

This patch replicates the structure of the source tree in the
document output tree to allow source files with the same
name but different paths.