Better capturing and handling of test failures

ftests.sh runs a series of tests. There was a problem, however, that
made the test script exit with a 0 status even when there were
failures. The reason for this is because the tests exist in separate
files, and ftests.sh ignores the exit code when it calls each script. I
discovered this when I got a false positive in a CI build.

This change fixes all of that and properly captures the exit codes. If
there are any test failures, ftests.sh will print an error message and
exit with a status of 1.
Merge pull request #245 from larsbutler/ftests-error-handling

Better capturing and handling of test failures
Fixed ftests.sh : bash syntax, error checking, return code checks, find args
restored previous tty behavior of tests
added some more things to .gitignore
Revert "restored previous tty behavior of tests"

This reverts commit deb12af5dfe5c51c792a7da22d6fb9b52332fe8f.