use the word "variable" instead of "feature"

Although "feature" is regularly used in machine learning literature,
the documentation and literature of AM uses "variable". Change all
new comments and method names to use "variable" instead of "feature".
move project parameter checking into Project.pm

Check the parameters used to initialize the project in Project.pm
instead of in AM.pm. Perform related refactoring where necessary.
Update TODO file where new needs are found.
test Project.pm

Write a full test file for 14-project.pm. Include new data files
to test all possible project functionality. Some of the old test
data needed tweaking, so update other test files so that they still
pass with the modified data.

Update _check_opts to croak with unknown parameters (and test it).

Also update comments and TODO.txt where needed.