Fixed biggest memory leak
Allow ArgList_parse to be extended to other cases more easily
merged new changes from original