Fix Backspace and Delete characters

Backspace key must generate the backspace character (\010) and
Delete key must generate the delete character (\0177). In
some systems the kernel configuration for erasing previous character
is \0177, so some programs (for example cat, ed, mail, ...), can not
understand the correct meaning of backspace. In this cases it is only
needed this command:

	stty erase 
Increment XSync consistency

This patch cleans up a style inconsistency.
Removing two unnecessary gettimeofday().
Merge remote-tracking branch 'origin/master' into omaster
fix cursor handling when alt screen is disabled

I don't like this alt screen thing, but when
allowaltscreen == 0, the cursor is still saved
and restored after calling 'less' (or 'man').

This patch makes allowaltscreen == 0 usable.
typedefs instead of #defines

Replaced #defines with typedefs where possible, patch attached.
Simplify techo

Remove special case for \e because it is handled well by "control code"
case.
remove confusing SERRNO macro

I found the SERRNO Macro slightly confusing, since you have to look
it up, if you don't know it already. A web search showed it does
not seem to be any kind of standard. Also there was no reason in
the commit log when it was introduced in 2009. As you can see it
also leads to new patches, which don't use this macro (probably the
author did not know about it).
misplaced parenthesis in LEN macro
move MODBIT to Macros section

Patch moves MODBIT to macros section and uses it in tselcs.
It's 2014 now.
Use BETWEEN in tinsertblankline and tdeleteline.
Style fix in tdumpsel.
Remove argument names from function prototypes.
Use uint and uchar instead of unsigned int and unsigned char.
Use BETWEEN in tsetchar.
Make xrealloc and xstrdup style consistent.
Fix techo handling of control and multibyte characters.

techo compares signed char to '\x20'. Any character with code less then
'\x20' is treated as control character.  This way characters with MSB
set to 1 are considered control characters too.

Also this patch makes techo display DEL character as ^?.

To reprocuce the bug, enable echo mode using printf '\e[12l',
then type DEL character or any non-ASCII character.
Use tsetdirt in tscrollup and tscrolldown.

tscrollup and tscrolldown do not use tsetdirt, but their code is
equivalent to

        tsetdirt(orig, term.bot-n);
        tsetdirt(orig+n, term.bot);

tclearregion also marks cleared lines as dirty.
In tscrolldown it sets lines from term.bot-n+1 to term.bot dirty, and in
tscrollup it sets lines from orig to orig+n-1 dirty.

In both functions all lines from orig to term.bot are effectively set
dirty, but in tscrolldown lines from orig+n to term.bot are set dirty
twice, and in tscrollup lines from orig to term.bot-n are set dirty
twice.

These patches make it clear which lines are set dirty and sets them
dirty once in each funciton.
Do not set dirty flag twice in tscrollup and tscrolldown.