Remove total clip counts / edited clip counts from Item model

Although this would still be useful, I can't figure out how to do it
quickly and reliably for now.

Also refactored publish.py and item list view to work with these changes.

Added a custom SQL generating function to sum a boolean column as
integers in Postgres. FIXME: will no longer work with SQLite or other
databases. Figure out how to expand conditionally depending on
database back-end.
Make git ignore static files
Fix timezone problems in RSS import
Migration: make title fields longer
Improve Sphinx importing script
WSGI and httpd.conf templates

ignore local django/wsgi
Improve logging, starting with spindle.publish module
WIP: refactor save_transcription to be a synchronous call, not a task
WIP: publishing, logging etc.
Make importing RSS an asynchronous task & give it its own page
Sitetree for new import RSS page
Add run_spindle.sh convenience script to start apache, postgres and celery
Control publishing tasks from web interface
Fix some details of configuration templates
Export individual tracks from metadata tab. Include visibility in RSS.
Improved run_spindle.sh script
New sitetree
Change the way transcription engines are loaded.

Something about the order of module loading (?) meant that the
discovery of transcription modules in spindle.transcribe.engines
didn't work under Apache. Using a function which caches its value,
instead of computing it ahead of time, fixes this for now.
Add an abstract base class for long-running, single-instance tasks.

See single_instance_task.py.  This takes care of checking the lock/
setting the cache key when the task is called, removing the cache key
on error or task completion, and finding any running instance of the
task.  Now we don't need to muck around with the cache directly in
views.py.

Also fixed a bug with views.py:task_info, when the completed task
returns any non-serializable objects.
Fix some CSS and template bugs