Fix bug #3996: parse_string fails to parse string which contains semicolon
ENSURE-TERMINATOR was not appending a terminator to the string to
parse if it already contained a semicolon or dollar sign. This was
problematic in cases such as this one:
(%i1) parse_string ("\"semi ; string\"");
<error>
Now we always append a terminator, since PARSE-STRING will only
parse the first expression in a string.
(%i1) parse_string ("\"semi ; string\"");
(%o1) "semi ; string"
No problems with the test suite or share test suite.