Add functions to manipulate practice-tables

Add an invocation of LOAD-PRACTICE to the config file.
LOAD-PRACTICE is now free of side-effects.

The startup invocation of LOAD-PRACTICE is consequently updated.
Refactors the table-handling for functionality.

ADD-WORD tests words for validity before putting them in the table.

DICTIONARY-WORD-P is added to avoid repetition.
ADD-WORD needs to be a macro.
Adds the "reverse grind" configuration.
Callbacks now take a table as an argument.

This is mostly to support things like the reverse-grind, but
makes things more flexible in general.
Multiple fixes.

DICTIONARY-WORD-P was broken; backward logic.

Updated docstrings; code organization.

MAKE-PRACTICE-TABLE takes a 'sort' argument.
README rewrite.
Fix typos, whitespace in README.