Add basic variable_list_parsing, and fix file_cache::find_source_files
to work when no directories are specified.