raise curses.error, rollup er's docfixes

"must call setupterm() first" is an exception that should be raised -- we should avoid doing calls for terminals where does_styling is False.
use the multiprocessing interface

much cleaner looking. We must assert exitcode is non-zero, as the child processes' exception does not bubble up into the parent.