Add a central table of modes and loop over it rather than spelling out
10 essentialy identical strcmp if statemnts. Use the stable to generate
usage as well reducing the number of ifdefs.
Disallow multiple -m options. Previouly multiple were allowed, but only
the last one was used and there was no indication this happened.