Implement new rules for build/cache file locations.

Files in --src-dirs are treated as if they were in the current
directory. Files in a package named "packageName" will have build files
put in cache/packageName/

Adds new representation of elm source file paths (SrcFile) that keeps
track of metadata concerning sources.