bugfix: change the encoding bash uses for exported functions

This is upstream's patch:
Patch-ID:       bash42-050

This patch changes the encoding bash uses for exported functions to avoid
clashes with shell variables and to avoid depending only on an environment
variable's contents to determine whether or not to interpret it as a shell
function.

Change-Id: I594d4267e726453839d4ced9d36978a6fd84ee8d
Bugfix: two local buffer overflows

Patch from upstream (with slight changes):
 Patch-ID:       bash42-051

There are two local buffer overflows in parse.y that can cause the shell
to dump core when given many here-documents attached to a single command
or many nested loops.

Change-Id: I018cb4e7c120cd9d0e6827c23c65ab4875583056
bugfix: invalid memory access

This is an upstream bugfix:
 Patch-ID:       bash42-052

When bash is parsing a function definition that contains a here-document
delimited by end-of-file (or end-of-string), it leaves the closing delimiter
uninitialized.  This can result in an invalid memory access when the parsed
function is later copied.

Change-Id: I033a2062a3e8265ceda3ed4a61d2afb53581f71f
bugfix: bash executing code following func def

This is an upstream bugfix (with slight alterations):
 Patch-ID:       bash42-053

A combination of nested command substitutions and function importing from
the environment can cause bash to execute code appearing in the environment
variable value following the function definition.

Change-Id: I660e59c76d0d50de52d48a0d399fe1dfef3bded8