wmllint: bugfix missing "stringfreeze" long argument in getopt, and correct help description

According to the introduction, stringfreeze does *not* suppress the warning, and the code bears this out.

I wonder how often this option is actually used.
wmllint: extend scenario check to include first scenario

Some newbie authors run into trouble at this point!
wmllint: revert part of ifdef_stack commit

[ARGH!!! Anonymissimus had pointed out my bug in master, and when I
backported my ifdef_stack fix, I thought I had been careful to incorporate
his correction - but no. What follows is him schooling me about my error.]

groggy: The ifdef_stack = [None] assignment made wmllint crash upon nested
#if blocks. The following block of wml should suffice to let it crash. The
inner #endif deletes the data about encountered #ifs.

...
#ifver WESNOTH_VERSION >= 1.11.0
#ifhave ~add-ons/UMC_Music_Book_1/_main.cfg
[binary_path]
	path=data/add-ons/UMC_Music_Book_1
[/binary_path]
#endif
#else
#ifhave ~add-ons/UMC_Music/_main.cfg
[binary_path]
	path=data/add-ons/UMC_Music
[/binary_path]
#endif
#endif
...
wmlindent: fix pango indentation-stopping bug (pointed out by vultraz)

I had a hunch that the hash would be the problem, because I realized that wmllint usually just looked for '#' to figure out if a line contained a comment, and that this also matched pango color coding. My wmllint backslash/userdata commits used this same re.split match to prevent this false positive.

(It won't prevent all unintended matches, e.g. "Guard #4", but I don't think that can be helped.)

The problem came, I believe, when the old line interacted with the block ten lines down:

        elif eligible.count('"') % 2:
            dostrip = not dostrip

The value's closing quote was on the other side of the split.
fix wmltools' parse_attribute to not consider pango color hashes as a comment

While there are many places that wmllint assumes that "#" begins a comment, from Vultraz's description it sounded like parse_attribute was being used to find the attribute's value, and then a string_strip was done on the value. So I looked for the direct cause in wmltools.

Again, the solution is to look for whitespace to precede the hashsign.

Incidentally, I don't know why the original code had the first "where -= 1", then had value and comment go from [:where+1] and [where+1:].
THoT Dwarvish_Loremaster: fix typo in apparently unnecessary magic comment

The irony of turning off spellcheck and misspelling spellcheck is obvious.

This magic comment is apparently unnecessary, though, since it wasn't
working, yet the file was not failing the spellcheck.
HttT deaths.cfg: fix Konrad's dying words event

The hero of Wesnoth's flagship campaign -- and his death event hasn't worked
since 1.7.5.
ai.cfg: fix "#ifdef MEDIUM" to NORMAL in attack_depth

Though this may be in vain, as I read on the wiki that attack_depth is not
working with the RCA ai and is deprecated. While this bug might break
attack_depth on one difficulty level, it shouldn't have broken it entirely,
so this is probably not the reason it doesn't seem to be working.
wmllint: prevent zero-length unit ids from crashing python-enchant spellcheck

Use filter() for the backport, since the switch to list comprehension is a
1.11 thing.
South Guard 06a: fix ogre last breath