better cross-platform chomp

Instead of just chomping of [\r\n]+, chomp \R, which matches any
eol characters or character sequences.
make _add_test public

Rename _add_test to add_test and treat it as a public method. Add
documentation and error checking. Factor out the code to update
variables in add_data and reuse the one for updating outcomes in
add_test. Now, outcomes found in the tests but not in the data will
not cause any errors. add_test needed to also accept a long outcome,
since new outcomes were allowed. Test new method in 14-project.t.
Update TODO to reflect completed tasks.