Added Fabian to the author list.
Split out ProxyService

ScoringService had two duties: assign a score to submissions and send
data to RankingWebServers. They were almost independent and the second
one has been moved to a new service: ProxyService.
Start to properly handle unicode

Explictly mark what fields of the database we expect to contain textual
data by making them use Unicode. Keep String only for strings we want to
be bytes. Also use explicit type conversions, forcing a proper encoding,
at our data boundaries.

Switch to use the JSON library in the stdlib because it decodes all
strings as unicode, whereas simplejson uses unicode only if they contain
non-ASCII characters.
Manually configure SQLAlchemy mappers
Small docstring fix
Fixed dump format versioning
Make ProxyService send the correct max_score to RWS

Also make ScoreTypes produce the ranking details headers and have them
sent too.
Improve FileCacher

Split "get_file" and "put_file" (which had a very complex API) into many
simpler methods. Make LargeObject become a proper file-like object and
change the way it connects to the PostgreSQL database. Redefine some
interfaces, carefully specifying what types they expect (especially
bytes vs. unicode) and what exceptions they can raise. Add all missing
docstrings. Various small fixes and improvements.
Fix internationalization and localization of ScoreTypes
Improve RankingWebServer

Mostly unicode handling, coding style and PEP8.
Fix some updaters.

We now expect all strings in imported dumps to be unicode.
Remove the commit parameter in SessionGen().

It was only meant as a transition help. Commits must always be explicit.
Fix small details after the introduction of ProxyService.