Added %immediate? for internal use
More reasonable SIGPIPE handling

Gauche's delayed signal handling makes SIGPIPE handler useless,
since the handler is invoked after EPIPE system error is raised
and handled.  It is a source of very confusing bug.

The main purpose of SIGPIPE (and its default behavior) in Unix
is the convenience for commands that are piped together.  When a
downstream command fails, entire chain terminates without a fuss.
However, SIGPIPE is annoynig on the output that are more transient,
e.g. sockets, and it is complicated for libraries to deal with
SIGPIPE transparently.

With libgauche, an application can (and usually) delegate the
responsibility of handling SIGPIPE to Gauche, so we can define
our own semantics.  We do nothing with SIGPIPE by default
(if the application asks Gauche to handle SIGPIPE).  Besides,
we added a flag to a port to specify whether an EPIPE error terminates
the process.  By default stdout and stderr has this flag, so
that gosh script behaves coherently with traditional Unix commands.