* wesnoth-mode.el (wesnoth-indent-preprocessor-bol, wesnoth-indent-savefile):
New variables to handle indentation.
(wesnoth-indentation-function, wesnoth-indent-line,
wesnoth-indent-withtags-inline, wesnoth-indent-default-inline,
wesnoth-indent-withtags, wesnoth-indent-default): Removed.
(wesnoth-element-closing, wesnoth-element-opening, wesnoth-element): Use
wesnoth-indent-preprocessor-bol.
(wesnoth-newline): Don't attempt indent on empty line (creates trailing
whitespace).
(wesnoth-indent): Use wesnoth-indent-preprocessor-bol and
wesnoth-indent-savefile.
(wesnoth-within-define): Better handle specific areas.
(wesnoth-check-structure): Use a more advanced (less redundant) method of
selection for some preprocessor statements.