Agree. I feel like the script usage framework almost supports too many types of output: it can build a summary report (returned as a string), operate in verbose mode (currently printing info about successes, failures, errors, and warnings to stdout), and optionally write **only** the errors and failures to a log file.

Can we simplify this framework to optionally record verbose info to some sort of ```.write```-able output stream? That way, all_tests.py can pass ```stdout``` as the output stream (to maintain current behavior), and it leaves the design/implementation simpler than it is now, as well as flexible enough (I think) for other use cases. Note that all_tests.py currently doesn't use the failure log filepath at all.

@gregcaporaso @wasade what do you think?