Fix some errors in ES

Invalidate was conflicting with the ongoing queue processing and
causing deadlocks. Adding the with_post_event_lock makes sure that we
are not playing with submissions data while we invalidate.

When we check if the submission is busy, we need to check also in the
queue, not only in the worker pool. This avoids random "evaluation
already present" errors from the database.

Also, it's worker.ignore_job, not worker.ignore_operation...
Do not remove fifo directory if keep sandbox is True
Fix SpoolExporter
Fix invalidate

There were several problems with the previous implementation. Mainly,
the candidate operations to be removed from the queue were not all
possible operations coming from the submissions, but they were
obtained from the existing submission results in the db. Basically, we
were trying to remove from the queue only the operations that already
ended (because their outcome was in the db).

Moreover, as the EvaluationExecutor waits for a worker after having
extracted an operation from the queue, we need to make sure that we
handle the case where that operation is to be removed as well.
Introduce cmscommon.archive module to handle archived files

* CMS now requires patool to be installed
* Fix #168 by making cmsDumpUpdater support archived files
Improved archive

Add pydoc, proper exceptions, and all requirements. Fix a small bug
in ContestImporter about double removal of a directory.
Add installation instructions for Debian
Use subprocess.DEVNULL when possible

Also, this change causes to open os.devnull at most once, thus fixes #353
Fix notifications after dataset creation
Round of pylint
Update authors file
Move clone dataset operation to db class
Tool to remove submissions
Be less pessimistic about PHP memory-hungriness

Before we used just 1M ints to cross the 128MB threshold, this turns
out not to be enough in some systems (read: mine).
Improved performance of counting number of submissions for overview page
Fix missing commit.

If the session does not commit before spawning new Jobs, there is the
risk that the new Jobs see an old version of the compiled or evaluated
objects.
cmsMake: fix support for Communication.
Fixed StaticGzFileHandler for tornado 4
Set content type to text for gzipped stl files
support compilation and evaluation with Oracle JDK