Add URL fixing for HTML content

Confluence generates the a and img tags as relative URLs.  Fix this to
add a base URL.  (<base href...> doesn't help us here, because we'll
be embedding content)
Add an Apache config file

Add an Apache config snippet for easy deployment.  This creates a
vhost on 80 and another on 443.  The primary purpose of the non-SSL
one is to redirect to the SSL one.  The SSL one requires certs in some
locations.
Add installation instructions (INSTALL)

Add an INSTALL file, detailing installation instructions
Move conf file location to a subdirectory

Re-organize the layout so that the config file location is in its
own subdirectory.
New admin interface; switch to Flask-SQLAlchemy

- Add an admin interface to manage keys, and let users request their
  own keys.  This necessitates changing the DB model, to de-couple
  users from keys.
-- Make use of Jinja2 for templates and add some IS&T theming
-- Get rid of the ugly AuthenticationContext and instead have helper
   functions in auth.py to deal with database issues.
- Switch to Flask-SQLAlchemy and let Flask manage the db session to
  avoid ugly import issues and circular imports.
- Wrap SafeConfigParser's get() method to support defaults and not raise
  NoOptionEror.
Add DispatcherMiddleware to WSGI app

- Add DispatcherMiddleware to the WSGI app to serve the API and admin
  from the same WSGI server, since they share the same environment,
  and different ScriptAlias mount points causes problems because of
  Apache's <Location> tag matching both the path at the server, and
  the rewritten path in the root of the WSGI
- Delete the admin.wsgi script
Move logging to init.py

- Since we're now in a single piece of middleware, move the logging
code to __init__.py to avoid duplicate logs and other gotchas.
Update TODO file

- Add some more notes abou the future to come
Add SELinux contexts

Add a sample SELinux context file, suitable for deploying at
/etc/selinux/targeted/contexts/files/file_contexts.local