cleanup terminal console iopub handling

ensures IOPub for a given cell is handled before drawing the next prompt.

Follows logic elsewhere using `status=idle` to signal end of output for a given cell.
Prior to this, early execute reply could result in some output being printed after the prompt for the next input.
remove unused current_msg_id
relax wait_for_kernel timeout

wait_for_kernel should be done very differently,
but I'm not certain exactly how.
Merge pull request #3765 from minrk/console-is-bad

cleanup terminal console iopub handling

ensures IOPub for a given cell is handled before drawing the next prompt.

Follows logic elsewhere using status=idle to indicated end of output for a given cell. Prior to this, early execute reply could result in some output being printed after the prompt for the next input.