always perform requested trait assignments

Some assignments do not change *value*, but do change the object,
and these should not be ignored.

For instance, container objects are currently impossible to assign
if they evaluate as equal.
test Dict trait assignment
This create the ability to detach the pager

When detached, the pager is collapsed and it's content is send into it's
own window/tab depending of the browser configuration.
add tooltip to pager button
Parallel: Support get/set of nested objects in view (e.g. dv['a.b'])
add bash completion example

load with: . ipython-completion.bash
Update IPython/core/magic_arguments.py

Remove references to 'version' no longer in argparse. Github issue #2343.
Quick fix for #1688, traceback-unicode issue

By importing unicode_literals from __future__ and casting to unicode at
two locations a simple case now works. However I have not audited the code
to find other locations where casts may be necessary. No new failures were
noted when running the testsuite.
convert sourcecode to unicode before colorizing in %pycat
Convert source code to unicode in zmqshell magic_less
determine encoding of source lines in %debug before colorizing
some fixes to call colorize with unicode from oinspect
merge functionality in io and openpy relating to encoding

New functions were introduced in openpy to deal with encoding in
python files. This commit removes redundant code from io and moves
source_to_unicode to openpy.
cast clipboard_get strings on OSX and Linux to unicode
fixes to demo.py due to unicode changes in pycolorize
removing unecessary import of re
Fix of incorrect import statement
make source_to_unicode use BytesIO and refactor
cast possible string to unicode
replacing pop call that could be made on ampty list