add missing import of fetch to cluster tasks

XXX these bugs are easy to miss when the worker isn't restarted...
topic models
rename es in es.py to _es

Fixes #19. It wasn't meant to be public anyway; we need a function that
returns a handle on the ES instance, taking it from a config file.
Adapted to PEP8

A number of files did not conform tot PEP8, at least according to
the output of the pep8 command.
Fix setup.py to use official elasticsearch client
doc: just always recommend --system-site-packages + contributor ©
fix bug in installer, xtas.tasks not coming along
weighwords dependency: setup.py, typo in test
ignore tarballs
--host and --port options for webserver
simple sentiment analysis for movie reviews

Cross-validation F1 with default settings (found by param_search=True,
so don't redo that with the same settings) is .882.
prepend some underscores to private modules' names
polarity stuff: fix import, note about optimization
speed up and refactor polarity classifier

Save model as global state, but encapsulated in a private module.
Should do this for Stanford as well; a single downloader module
was a bad idea.
factor out Stanford NER code into private module
speedup Stanford NER tagger

Changed API: no sentence splitting anymore.
Move to elastic version 1.0

I made the xtas.tasks.es module compatible with elasticsearch 1.0. It
is probably no longer compatible with earlier versions.

The testing for exact result representation bothered me so I also added methods
to get results from elastic search and used those for testing. I also makes sense
to have set/get pairs.

- Updates es module to use _source rather than field in the search.
- Added get_single_result and get_all_results functions to fetch existing
  results.
- Renamed test_backend to test_es and updated tests to check input-output
  consistency rather than a specific representation.
Add caching pipelining for single documents (fixes #9)

Pipelines are created by transforming a list-of-dicts specification into celery
tasks, which are then chained. Optionally, store_single tasks are placed at the
end of the chain or after each task.

Before creating the chain it checks how much of the result is already stored,
and starts processing from the stored result 'furthest' in the pipeline.

Issues:
- since store_single only accepts a string as 'taskname', it is now a concatenation
  of the celery task names of the chained tasks. This is (a) not very nice and
  (b) is a technical detail that belongs in es, not in pipeline
- parameters (such as nltk 'model') are disregarded at the moment
- I dislike the 'blocking' parameter, I feel that the pipeline function should
  always return an AsyncResult. However, if the whole result is in cache, there
  is no celery task to run (so no AsyncResult) to return. So, with blocking=False
  the return type depends on the state (nasty). The only solution I see is to
  'mock' an asyncresult, but that is not much nicer.
  (on second thought, if pipeline is used as a task, it doesn't matter so much,
  as pipeline.delay().collect() will always return the actual result)
bug: missing "return" in Stanford NER task
tentative tutorial