Implement dispatcher sub command.

`stuc-dispatch' implements the lookup mechanism for executing sub
commands.  A sub command is identified by a hyphen-separated list of
names, e.g. `foo-bar-baz'.  The dispatcher first tries to execute
`stuc-foo-bar-baz' and, if that fails, strips everything from the end of
the string up to and (including) the next hyphen.  It then tries to
execute the program with this name.  For the given example, the
following executables would be tried (in this order):

  stuc-foo-bar-baz
  stuc-foo-bar
  stuc-foo

The purpose of this mechanism is to allow for more control over
evaluation rules, e.g. provide different evaluation rules based on the
file extension.
Evaluate based on file extension.

The file extension of the key name is now taken into account when
evaluating a file.  This is achieved by using `stuc-dispatch' to
dispatch to the `eval-$EXTENSION' command, where $EXTENSION is the file
extension of the queried key.