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
Name of function is a little weird if it's other **input** too, but that fine I guess. Also isn't the last equivalent to `return self.include_other_output and from_here` ?   If so it seem it could be simplified with the previous block. Handwaving i would say `if (include_other and (not from_here or 'execute_input'))`, but maybe it becomes hard to read.