Improved IPython Integration

This is a pull request to better integrate IPython into PyDev. Although a small amount of work was set up improving IPython versions <= 0.10 the focus is on 0.11+ and in particular 1.0 as it was in 0.11 that IPython was rewritten to enable the type of flow that PyDev requires.


The primary improvements are:
* Ensure that nothing in IPython goes wrong. This mostly focusses on setting up various configurable settings correctly such as readline usage, etc.
* Connect %gui magic to the PyDev work done previously (see pull request 62)
* Consistently show IPython banner on both 0.10- and 0.11+ versions. On 0.11+ Added a couple of lines to the banner that reads:
```
PyDev -- Python IDE for Eclipse
For help on using PyDev's Console see http://pydev.org/manual_adv_interactive_console.html
```
* Store the commands sent to IPython in IPython's history. This enables the various magic functions for accessing and editing the history to function.
* Use more of IPython to generate completions. See 674ea18
* Support launching editors (via magic %edit) from console with new client callback (OpenEditor). See d6e1269

While I believe that this set of changes brings IPython integration a step forward, I have identified a number of items that would improve it further. I documented these in d07ae6a

The majority of the work (the readily automated testable bits) are covered in test_pydev_ipython_011.py.

This work has been funded by Diamond Light Source (http://www.diamond.ac.uk) for the DAWN Science project (http://www.dawnsci.org)

I am looking forward to any review feedback or comments.
Thanks
Jonah