optimize if/else to switch, etc. in arguments parsing

Some optimizations to argument parsing, account for the possibility that there may be more than one file name, allow parsing of file names starting with a dash via new option (conventional `--`). Easy to modify to parse multiple files and spew results in order.