Support for extra_outputs in Lua frule.

This is similar to the already supported extra_inputs. The files supplied in
extra_outputs are not substituted in %o. I also added a warning to the
documentation since the API for extra_input/extra_output currently
makes a distinction between frule arguments input vs. inputs and
output vs. outputs. I'm not sure if this is a good idea because it's confusing
but I did not change it to avoid breaking backwards compatibility.
Added t2173 to test extra_outputs in tup.frule()
Fix typos
Update SQLite 3.8.1 -> 3.8.2
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().
html: Update copyright year to 2014.
Update debian/ubuntu apt info.
Added t4162 - test using sub/%O as an output.

The subdirectories were only being created when parsing 'sub/%O', so if '%O' expanded to something with a '/' in it, then tup would add an entry in the database for a filename with a '/' in it rather than creating another level of directories.

Fixes #162.
Update file headers to 2014.

Updating it on a per-file basis was annoying.
Fix error message in t4162 to include path.
Added t4163 - make sure %O with multiple outputs fails gracefully.