test suite: move error checks to the end
test suite: note syntax for error checks at the top of the file
test suite: three more
test_exp.sh: disable -Wunused-function

When building with all the code embedded, unused functions are quite
common, and do not indicate any kind of problem.
move test scripts and code to tests/ directory
add some (manual inspection) whitebox tests
reorder elements in regex syntax comment
update gitignore lists