Partial args implementation, fixed an IWAD oopsie

- Args class for reading command line arguments and sorting them out
into files and whatnot. Pull the IWAD from -iwad parameter and match it
up to an existing one if possible.
- Fixed an oopsie where I had IWAD types be looped over *before*
filenames, so the same filename would register as multiple IWADs, like
you could have Ultimate Doom register as Ultimate Doom, Registered Doom,
AND Shareware Doom all at the same time.