Partial rewrite of scenario handling in SP menu

Not even pretending that splitting this into small chunks helps
understand any of the changes, simply because it's still horrible.

New bugs introduced due to changed scenario structure: Now require
metadata previously stored in root level to be defined in an explicit
`metadata` dictionary instead. This prevents parsing entire files
multiple times when querying difficulty, author, description and so on.

As for backwards compatibility, at least the map file should be detected
for old-style scenarios. No guarantees or promises about anything else.

Updates to the english parent scenarios (including the ones in tests/)
are contained in this commit. Updates to all other languages happen in a
different commit by running the new scenario translation script.
Update string previewer to new scenario metadata structure
translate_scenario: Translate metadata and minor tweaks

No comment about this code except that i was seriously considering to
--author someone else before committing.

Also adds python 2.6 compatibility and makes __file__ invocation
somewhat more diff-safe by omitting leading './' if present.
translate_scenario: Note original scenario, add header to translated files
translate_scenario: Hack to reuse old translation files

This should be reverted as soon as pootle is back and running.
Translation update: All scenarios (Update from templates)

New syntax.
translate_scenario: Weblate compatibility

Should be possible to use a file containing this line, or the script
itself, as Weblate hook:
  development/translate_scenario.py "$1"
Assuming this is added as "extra commit file":
  content/scenarios/The_Unknown_%(language)s.yaml
Merge pull request #2090 from unknown-horizons/scenarios-metadata

Scenarios and metadata