Rework Lua command-line parsing a bit

Rename the cmdlineparser creation function to "cmdlineparser.parser".

Add a new "cmdlineparser.standard_parser" function that returns a
parser with standard GNU options and behavior already enabled.

cmdlineparser.add_standard_options now modifies the parser passed as an
argument, rather than returning a new parser with additional
options (this is somewhat more convenient in the case where the user
wants to add additional options later).

Support a new "final_options" member in parsers, which is simply
treated as an additional list of options that is processed following
other options in the parser.

For standard parsers, add a "Try 'prog --help' ..."  message to
various errors.
Rename lua-install-dirs.mk to install-dirs.mk

Although currently it is only used for Lua-related install directories,
there's really nothing Lua-specific about it, and we'll want to use it
for other things in the future.
Makefile.am: Remove config.mk from EXTRA_DIST

Automake automatically distributes any file used in a make include.
Move documentation into a new subdirectory "doc"

Also rename documentation files from "README.foo" to "foo.txt".
Tweak git repo references in README
Update references to files imported from other packages
Tweak README
Use autoconf build-aux directory
all-in-one.lua: Tweak comment
Rework/simplify Lua scene-loading framework

Simplify the Lua scene loading framework to get rid of the special
"scene", "camera", and "params" arguments to scene-loading functions,
and just pass around a Lua environment which by convention will have
similarly-named fields.

This has several advantages:

 + It makes it simple for loaders to set these values as well as
   modify them.  For instance, completely changing the camera (say, to
   a different type of camera) can be done directly by Lua code as
   "camera = ...").

 + It directly reflects the way the interface to scene files actually
   worked: before, the Lua-scene-file loader would itself define an
   environment, put these values in it, and then load the Lua code;
   now all that is unnecessary.  Loaders in C++ still take more
   specialized parameters, but they are the rarer case.

 + Creating the Lua scene-loading environment outside the
   Lua-scene-file loader makes it easy to share a single environment
   between multiple loaded scene files, which is desirable: the main
   use-case for allowing multiple load-files is so that one can load
   extra "mixin" files to modify the way the main scene-file works,
   and sharing an environment makes this simpler.

 + It simplifies the code.

The main visible side-effect of this change is that old-style Lua
scene-files (which use the interface defined in all-in-one.lua) are no
longer supported by default.  Instead, a scene file must explicitly
request the compatibility interface by calling the Lua function
"snogray_old_style_scene_file ()" (as the Lua scene-loading
environment is now shared between scene-files, this may be done in a
separate preloaded scene-file too).