Added t4161 - change case of an output file.

In Windows we do case-insensitive matching, so if we change the case of an output file, tup was matching the original name, and not updating correctly. For command strings and output filenames, we really want to do case sensitive matching so we can re-run the command and create the newly named output files as expected.

Fixes #159
Share some path_list code between parser/luaparser
Added t2174 - test for a filename with spaces in Lua

Since the Lua parser already has filenames delimited with quotes, we don't need to go through the same get_path_list() function in the regular parser that then splits up the whitespace. Instead we can convert the table directly to a path_list, and pass that into do_rule().