Accept more than one word at a time

This patch teaches the program to accept one-or-more words on the
command-line, displaying the definitions for them all.
Implement and document the exact match option
Store all valid match types in a global tuple

There are multiple places in the program where we refer to the ‘valid
match types’ we accept, both in code and in comments.  This patch
moves the list of valid match types into a global tuple so that we
have a more obvious place of reference when mentioning match types.
Implement and use the InvalidMatchType exception

Python’s standard argument parsing library makes sure ‘--match’
receives a valid value on the command-line.  However, we perform no
sanity checks for the value of the ‘match’ parameter of the
collect_matches() function.  This patch creates an exception to use
when we expect to receive the name of a match type and instead receive
something that is not part of VALID_MATCH_TYPES.  The patch also
modifies the collect_matches() function to raise the exception if its
‘match’ parameter has a value we do not support or expect.
Fix typos and grammar in the help string for ‘--match’
README: Describe how the program works offline
README: Explain how to forcibly update the dictionary file
README: Expand on the ‘Usage’ with an example of ‘--match=exact’
README: Use the program name in the ‘License’ section for clarity
README: Make the future plans of a GUI more obvious
README: Document the behavior of ‘--roots-only’
Define a global list of suffixes

We will use this list to help break down a word into its root by
matching and removing all the suffixes that we can.  The list only
includes suffixes which I found in dictionaries and other sources that
I consider authoritative.  This means the list does not contain some
suffixes such as ‘-ik’, ‘-esk’, ‘-oid’, et cetera.
Remove all suffixes from words when using ‘--roots-only’

This patch compiles a list of regular expressions to match all
possible suffixes.  If given the ‘--roots-only’ option the program
will first try to remove every suffix from each word before searching
the dictionary.

This process is not bullet-proof.  For example, it will not remove
suffixes if the user only enters part of a word and that part happens
to not match anything in the suffix list.
Add verb tenses to the list of suffixes
Remove official prefixes when using ‘--roots-only’

This patch adds a list of prefixes to remove and also modifies the way
that we build the global list of affixes by moving that logic into a
function which we only call if given the ‘--roots-only’ option.  It is
not a big optimization but it does prevent us from wasting time
compiling regular expressions we may not need to use.
Check for ‘-j’ at the end of words when removing affixes

This corrects a problem where running

    $ vortsercxilo --roots-only gepatroj

would incorrectly search the dictionary for ‘patroj’ instead of the
root ‘patr’.
Merge branch 'remove-affixes'

* remove-affixes:
  Check for ‘-j’ at the end of words when removing affixes
  Remove official prefixes when using ‘--roots-only’
  Add verb tenses to the list of suffixes
  Remove all suffixes from words when using ‘--roots-only’
  Define a global list of suffixes
  README: Document the behavior of ‘--roots-only’
  README: Make the future plans of a GUI more obvious