Let exceptions through to callers of run_interactive

Change logic in run_interactive() to not recursively call itself, and to
let exceptions through to callers.

Raising ExecutionError instead of printing a message but not raising an
exception is now allowed. This lets us reorganize a few functions for
less nested logic.

Change log.error()s to exceptions.

Signed-off-by: Andy Grover <agrover@redhat.com>
Make error-level log messages go to stderr

Extend con.display() with an error boolean optional parameter. If true,
output goes to stderr. Is this in log._log() to send messages >= 'error'
to stderr.

This is based on work by Tregaron Bayly and Jason Earl at Bluehost, thanks.

Signed-off-by: Andy Grover <agrover@redhat.com>