Restructured argument parser to use classes, improved range support

Improved range support: passing ```both 12``` and ```both 12-14``` to ```ruby processFile.rb``` function properly (as far as I can tell).

Removed ability for users to pass both filenames and ranges to the program in the same session.

Note: The keywords for apps and grants were changed from ipa and ipg to app and grant (respectively) to improve clarity to the end user.  I forgot to mention this in the commit notes, but the change is present in commit c87122c
Note 2: The parser is still incredibly lenient.  For example, ```ruby processFile.rb both``` gives no errors.