Support echoing output from other clients

in the zmq console

Can result in outputs like:

```
In [1]: 1
[remote]In [1]: 1
[remote]Out[1]: 1
[remote]In [2]: 3
[remote]Out[2]: 3
Out[3]: 1
```

Note that there will be inconsistencies in prompt numbers because some execution may take place after the in-prompt is drawn.

closes #1873

- [x] support remote output in terminal
- [x] support remote output in qtconsole
- [x] finish sentences