html.py,style.css: use <pre> with no top-margin on all descriptions

After my last change dealing with this issue, I noticed that descriptions
with <pre> had an extra blank line at the top. Adding top-margin to the
CSS file made this go away, but it also made the <br/> superfluous. Thus,
it is simpler just to have every description use <pre> instead of <br/>.

This should finally resolve everything having to do with the add-on
descriptions.

If I'd noticed that the re module hadn't been imported, I probably wouldn't
have considered URL linking to be important enough to do so. Since I've
already written the code, however, I'll keep it.
Fix for bug #21717: "F5->reload" doesn't work in editor

Moved the hotkey into the "General" scope.
This commit must be backported into the 1.12 branch before closing the
bug.
LoW 3+7: Minor cosmetic map adjustments.
Class Theme restoring the 1.12 UI.
SotBE S8: give a little more gold to player on nightmare
SotBE S14: add a village close to northeast AI ally leader's keep
SotBE S14: remove trolls from AI allies' recruit lists

Since Grüü takes off with all the trolls.  This was already done for
the player side.
Update changelog
fixup unit tests for sdl 2.0

The idea here is to make it safe to detach the worker thread. We
replace the scoped pointer for the game_controller with a shared
pointer, and pass this to the worker thread. This way the worker
won't segfault if main thread times out and decides to return.

In SDL 2.0.2, Detach thread becomes available. I haven't tested
on the new version of SDL, but my understanding from posix
is that detached threads will simply run separately, until the
time that the main thread returns, at which point they will
be terminated.

I added compiler checks so that if Detach thread is not available,
the compiler will simply disable unit test timeouts, but otherwise
keep unit tests available.