User groups introduced

Each user is a member of some group specifying the time he has
for the contest. This can be useful for off-site participants
taking part at some different time than the others as well as
for test users which should be able to submit even before and
after the contest.
Introduce Rules
Added SubtaskGroup score type
Merge branch 'rules-new2' into ger-taskformat-new2
Prepare from_submission_evaluation() for local testing

Previously, this function required all objects to actually
reside in a database. Otherwise, the following happened:

- The call to deepcopy() crashed.

- The function was unable to retrieve the SubmissionResult object.
Created new contest and task configuration format

A lot of the work in this commit has been done by t-lenz (Tobias Lenz).
Added plain task template

By t-lenz (Tobias Lenz)
Added German IOI selection template

By t-lenz (Tobias Lenz)
Added some documentation
Respect weak limits for unit tests

This means that single (test) submissions get more time or
memory than normal submissions.

This makes it necessary to save additional information for
each submission to the database.

By t-lenz (Tobias Lenz)
Remove MyCase.genfile
Export checker and constraint functions.
Make "explicit" an exported function returning an executable.
Improved documentation
Merge branch 'ger-taskformat-new' into ger-taskformat-master

Conflicts:
	docs/External contest formats.rst
Merge branch 'master' into ger-taskformat-master
Sandbox: When truncating, write to a new file
Specify output truncation length in jobs

Communication and TwoSteps truncate now, too.
Show input, user output and reference output to the admin

Should fix #109.
Added functions escaping strings for latex