Fix parsing of :!
Added shell test for :!
Silence shtests
Exit on input eof
Modification checks on :e
q -> gq for format command
ui_err() for error output
Changed filter commands - gq, ! and g!
list_filter() captures stderr
Reap child process after list_filter()
Restore terminal state on bad test exec
Print test failure summary
Fixed list filter non-line motions / added to gq test
Null check for filter tail + filter-error-stream test