test projects before everything else

Change the name of the project test file so that it is tested first.
This seems appropriate because running AM always uses projects, so
the implementation had better be known to be correct before running
tests on classification.
separate directory and API data tests for project

This shows clearly how not well-tested the Project code is, and also
how difficult it is to test because of its current design.
added private data tests for API
organize and fill in tests while refactoring

Further organize the tests in the two project test files. Run
Devel::Cover and add new tests where more coverage is required.
New coverage includes `get_test_item`, setting test item spec
to a data string when there is no spec, and the warning for a missing
test file.

Put the data serialization, a simple `join ' ', @$data` into a separate
subroutine so that it can be shared by `add_data` and `add_test`.
simplify project testing by mocking subs

Instead of running all of the same tests in `02-api.t` and
`02-project_dir.t`, just mock `add_data` and `add_test` in
the latter and test that these methods are called correctly while
reading project directories. This gives much better test coverage
in much fewer tests.
clean up docs and add missing test to 01-api.t

There was no test for `results_path`, so add that, and also add
comments where needed.
remove unneeded commas test

A separate classification test is no longer needed for projects using
the commas format, since project creation and commas format are tested
separately.
remove unneeded, unknown initialization logic

These lines have never been used, and I do not know what their
use would be. They complicate things needlessly, so remove them.
accept Project objects in AM constructor; test

Change the constructor for `Algorithm::AM` to allow passing in a
Project object. Test this new functionality in `01-classify.t`.

Also reorganize `01-classify.t` so that reading a project from disk is
a special test, and other tests create `Project` objects and add data
directly instead of reading project directories from disk.
add `get_project` method to AM

Then test this accessor (and leave room for future accessors) in a new
test file. Move it and 01-classify.t into a new test folder for testing
the AM class.

Remove tests involving reading projects from disk from 01-classify.t,
which are no longer needed since it is verified that a project object
is correctly created.
consolidate null variable classification testing

Move the tests from `04-nulls.t` into the file for testing
classification, and give them a separate testing subroutine in that
file. Remove the now-unneeded chapter3_null_feats data set.