parser: use standard functions to parse identifiers

modified the get identifier function to use standard library functions
to parse identifiers; the input string is temporarily put into a
standard input string stream and read from it

the scan word function was renamed to get word and it too was modified
with a temporary standard input string stream, to return its values in
a new work structure containing string, data type (if present) and
parentheses flag (the later two instead of reference arguments, and
given new work type argument (first or second) where a data type and
parentheses are not allowed for the second word

modified two word table search to take standard strings

corrected a problem with defined functions where only function names
that start with a letter are valid defined function names, otherwise
names starting with 'fn' are regular identifiers; added new identifiers
to parser test #2 (identifier tests) to test invalid 'fn' names (are
valid identifier names)