`ipython console` requests the history from ZMQ-based kernels

This PR sets the history_manager to ZMQHistoryManager to request the history from the kernel over ZMQ. Tested on metakernel-based kernels, and with `ipython console` default ipython kernel.
What calls reset()? I've just searched the codebase, and I can't see anything that should be acting in the console frontend. If there is something, it should be a no-op.