Add scripts/parser: various parsing primitives.

Currently contains function parse_cstyle_call,
which performs translation from a C-style call
to a Bash function call.
It accepts multiple arguments, concatenating them as needed.

Output is count of arguments consumed (so it can be used to partially
parse command-lines) followed by an eval-ready string.

Example 1: It concatenates.
$ parse_cstyle_call function \( a, b, c d e \)
8 function a b cde

Example 2: Normal quoting can be used to leave spaces in parameters intact.
$ parse_cstyle_call "function ( a, b, c d e )"
1 function a b "c d e"

Example 3: Normal quoting is not enough to leave trailing spaces
in parameters.
$ parse_cstyle_call function \( a, b, "c d e " \)
6 function a b "c d e"

Example 3: Escaped second-level quoting can be used for that purpose.
$ parse_cstyle_call "function ( a, b, ' c d e ' )"
1 function a b ' c d e '