Clean up main.c:parse_command_name

- Logic was not perfect to begin with; for example, "vim" is not necessary in "rvimdiff" ("rdiff" is equivalent)
- Fixed bug: "gvimdiff", "gviewdiff", etc. (anything with "g") would not correctly parse (ptr not incremented after consuming 'g')
- Fixed bug? Previously could not combine diff and ex[im], i.e. "vimdiffex", alias for "vim -e -d"