DRYed out code by removing "app", "grant", and "both" strings present throughout the range parsing code with references to constants FileRange.[app|grant|both]_key. Made argument parsing more strict: actions are no longer removed from the arguments array.  Previously a statement such as "both extract 120000-120400" was valid to the range parser because the action keywords were removed. Improved helpfulness of errors when parsing ranges from user input: added a rescue statment around range parse which in turn throws a more readable error.
DRYed out code by removing "app", "grant", and "both" strings present throughout the range parsing code with references to constants FileRange.[app|grant|both]_key.
Made argument parsing more strict: actions are no longer removed from the arguments array.  Previously a statement such as "both extract 120000-120400" was valid to the range parser because the action keywords were removed.
Improved helpfulness of errors when parsing ranges from user input: added a rescue statment around range parse which in turn throws a more readable error.

sarl-hackerspace/NSFPatents,sarl-hackerspace/NSFPatents