build.pl: fix for files that must be preserved in release branch

... such as .travis.yml.
build.pl: tabs -> spaces
bin/angel-PS1: improve code comments
Use tmpnam() from POSIX instead of from File::Temp

Also, now load POSIX unconditionally.
Show the angel name in ps output (change $0)
TerminalSize: use a constant table for ioctl TIOCGWINSZ

... as a shortcut, to avoid loading sys/ioctl.ph (that may even not be
installed on many systems. Ex: Travis-CI).
AngelPS1::Shell: aliases for shell names
AngelPS1::Shell: tabs 2 spaces
build.pl/release: ignore the 't/' directory
README: fix Twitter account name
Fix AngelPS1::Shell (broken by 76899c)

Don't commit late in the night!
TerminalSize: optimize further!
Add minor comment
Start of a test suite: t/20-bash.t for testing Shell::bash
bash: move final '\n' from the main loop to ps1_finalize for bash

mksh is not affected as it doesn't use 'read' and the '\n' had to be
removed anyway.
Prepare (t)csh port
tcsh port: work in progress, but still far from working

csh quoting is so inconsistent that I'm now sure that I'm wasting my
time and I'm not even sure I will reach the point where it will be
usable.
(t)csh: fix handling of static prompt

For tcsh, disable the shortcut for a static prompt and handle it always
as a dynamic one.
TODO: optimize the static prompt for tcsh too.
tcsh: almost working!

To do:
- escape \n
- escape ^ and \
Known issue (one more tcsh bug to workaround!): the history of the shell
is polluted with two entries 'angel leave' and 'endif' every time the
prompt is displayed. This is a major usability issue.
Compiler: fix ps1_escape call to use return value