Fixed a recent bug I introduced into the command line parser


Short story:

I did something dumb in argc.cpp and have undone the mistake.

I've compiled the fix on clang and gcc, tested the fix for
the error I see that I made, and I am currently running
a paratest.

Checking in this fix in parallel with the paratest.




Longer story:

I have been trying to straighten out the command line parser so
that one is not required to allow it to write to C variables
while it scans argv[]; one can merely rely on the option to
call functions while scanning argv[].

The code is pretty hard to read and I have been working to
simplify it in a few passes in preparation for cleaning up 
the outer loop.

There was a place where the code made a deep copy of argv[]
and then, along some paths, made copies of some of those
copies.

I am sure that a "good version" of this code won't need the
various string copies but I can't understand why I thought
these were not needed now.


I started by putting back the original code, just a few lines,
and then added some code to fix the leaks.  Longer term plan
remain to clean this up (it's called out as part of my first
Task) and then get rid of the deep copy of argv[] again.


Sorry for the unnecessary thrash I created.




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23695 3a8e244f-b0f2-452b-bcba-4c88e055c3ca