Support for multiple filetypes, and some new ones

This changeset teaches waliki to deal with multiple filetypes at once, and also adds support for several new types including "raw" (images and binary files) and syntax-highlighted source code.

Smaller-scale changes that support this goal include:
* "raw" and source code files cannot have metadata, so
  a) the edit form does not present these fields and
  b) the save procedure won't write them
* Added support for "Plaintext" files, which is what will be used if no other type can be detected
* All of the magic about hiding file extensions from URLs has been removed
* Specifying a MARKUP in config.py now only controls what editor is used for editing and previewing new files
* wiki.index() can now include files in subdirectories of arbitrary depth
* The homepage is now chosen dynamically to be the page tagged 'HOMEPAGE' instead of being hard-coded to 'home.md'
* "raw" files are displayed without any markup or templating, so images can be specified in links and will work properly