Allow Printing and Proxy service not to be present in cms.conf.

Both are required only in specific situation: when printing is enabled
and when there are external rankings, hence it makes sense to skip
them from the configuration if these features are not enabled.
Added logging explanation to two exceptions.

First is "wrong connection string", second is "service not specified
in conf". First still has several occurrence - we fixed only the case
in which the service accepts a contest id.

I introduced a new exception, ConfigError, which is supposed to be
used for critical configuration problems, and is catched only in the
scripts' main.
Fix project name in file preambles
Add test_db_connection to InitDB and DropDB
Add __future__ imports and remove unused imports
Catch ConfigError in PrintingService
Assorted cosmetic fixes
Remove testimonials from README

The list was growing long and having it only on the website avoids
synchronization issues and improves graphical presentation.
Add some instructions to the README

Like a link to the homepage and instruction on how to download the
stable version and where to open bug reports.
Add commenting feature

Admins can internally comment submissions (OK, strange bug,
interesting, grading failure?, ...).
ES: refactor Job generation in search_jobs_not_done().

Create methods to decide what must happen to a Submission or to
a UserTest. The intent is to move all the similar logic in these
methods.
ES: add "submission_" prefix to some methods for consistency.
ES: finish refactoring Job generation.

All Job creation is factored through submission_get_jobs() and
user_test_get_jobs().

Also, fix some logging and reimplement lowered priority for Jobs
that have already failed.
A lot of full stops.
Another docstring.
Use EXTRA_LOW priority for datasets that are not active.
Fix docstrings.
Remove a long-living connection when precaching files in Worker.
Worker: during precaching, download files only if they're not available.
Include isolate as a git submodule

Make the subdirectory isolate/ become a git submodule for the repository
cms-dev/isolate. We use the https:// address (instead of the git:// one)
to avoid authentication and permission issues. Also explain how to clone
in the README.

Fixes #1.