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