Fix permission issue when sandbox truncates output files

By wrapping the file object in a custom file-like truncator we avoid
touching the on-disk instance.

Using the io module gives us context managers for free.

Also improved escaping of command line arguments and made command files
be opened in text mode (i.e. accepting unicode) with default encoding
(i.e. UTF-8).
Add unit tests for Truncator.
Use long names for command line arguments when calling isolate
Make compilation_step and evaluation_step accept multiple commands

This allows to perform multiple-command compilations and evaluations
without having to bundle commands together with /bin/sh, which seems to
call fork() and therefore fail as soon as we effectively limit the
number of processes to one.

Some other API has been changed accordingly. Yet, please note that
evaluation_step_before_run and _after_run are kept unchanged (i.e. they
still accept only one command).
RWS: close details window when ESC is pressed
Add some documentation about troubleshooting too many connections to the database.
AWS: fix AJAX RPC calls when the server is proxied with a prefix.
Russian translation
Fixed stress-test script to work with current version of CMS.
Added request duration output for stress-test requests.
Allow stress-testing from outside of contest local network.

Added stress-test script options to retrieving the contest data from a
file instead than from the database, and to store those information in
the file.
StressTest working with tasks with no statements.
New contributor.
Fixed notifications showed repeatedly in admin interface.
Add subtask to the validator command line
Italian format: Task's yaml file is read from inside the task folder.
Lithuanian translation
Fix psutil in requirements.

psutil 2.0 has changed its API, making CMS incompatible with the new version.
Fix test interface when using a translation.

The file input element for the input file had a translated name attribute,
which caused the server to ignore the field and complain about missing file.
Fix an testing interface error when the contest has no tasks.