fix a logic error in help code

This case analsis was meant to catch +,- symbols at the end of the
alias string and drop them, but it should have been checking if the
last change occurred at end - 1 rather than end.
fixup implementation of terrain behavior strings

We don't need to make a recursive call for the second part of the
group, only the first part of the group, since we know that there
are no more changes that happen in the second part. This prevents
adding unnecessary parentheses.
Merge branch 'master' of git://github.com/wesnoth/wesnoth