can now detect and report script import errors
Add ScriptTester class

Still very preliminary, just starting the refactor. Seems to be working
Remove 'script_usage_output_to_remove' support

No longer necessary as we're not storing output in the repo anymore.
Add ScriptTester.result_summary
Refactor rest of code into __call__

Still needs cleanup and more testing, but appears to be (partially) functioning
Fix minor formatting issues
Add support for missing scripts
Finish implementation of script error handling

Also perform code clean-up and add docstrings/comments. Fixes #1304.
minor formatting fixes
removed extraneous line
i must be really tired...
use pyqi_system_call instead of qcli_system_call
build summary more efficiently

Thanks @wasade for catching this!
add number of scripts that errored out to summary

Thanks for suggesting this @gregcaporaso!
reduce side effects in _record_script_error

Method signature makes more sense now and removes some duplicate code.
add more specific checks for usage example loading

now differentiates between a KeyError and AttributeError

based on feedback from @wasade
simplify logging functionality

No longer prints verbose messages to stdout and separately logs only failures/errors to a failure log.

Now accepts an optional logger that messages are written to. This is much simpler and flexible than the previous approach.
move verbose script error messages to better place

Small refactoring to put the verbose script error messages with their shorter summary counterparts. Should be pretty easy to add new types of script errors in the future now (and less error-prone).
Merge pull request #1320 from jrrideout/issue-1304

Refactoring of script usage testing framework to better handle errors