Add failing test for gh-3459
Add failing test for completing arguments after '%run foo.py '
Improve matching files after script name for magic %run.

Closes gh-3459
Add failing test for duplicate dirs in completions
Fix duplicate directories in %run tab completion
Partially normalise paths for Windows tests
Added automatic close of Brackets.
Forgot to add the needed js file...
only validate package_data when it might be used

closes #5046
Minimal changes to import IPython from IronPython
run check_package_data as part of build_py

rather than explicitly in setup.py
Merge remote-tracking branch 'upstream/master'
Summary of changes:

1) IPython/core/compilerop.py: IronPython __future__ flags are non-standard,
Solution try/except; comment added

2) IPython/core/completer.py: __main__ was undefined, due to local mistake in
creating IronPython scope; removed this tweak

3) IPython/core/prompts.py: os.getuid() is not defined (IronPython bug; see:
https://mail.python.org/pipermail/ironpython-users/2014-February/016812.html)

4) IPython/lib/inputhook.py: ctypes SystemError; comment added

5) IPython/utils/process.py and IPython/utils/_process_cli.py: adds a
new _process_cli.py which would handle the processes under cli;
fixed os.pathsep

6) IPython/utils/io.py: devnull opened in append mode; changed to "w"

7) New issue: IPython/external/decorator/_decorator.py: IronPython doesn't
have _getframes, unless FullFrames is set to true; comment added
require print_method to be a bound method

closes #4990
add _valid_formatter

for determining whether a method is valid

should properly reject unbound methods of both compiled and Python classes, and allow any other Python callable.
don't allow LazyConfigValue on private names

avoids populating Config objects with `_repr_foo_`, etc.
add regex support to AssertPrints
add IPython.html.nbextensions.install_nbextension

for installing files into IPYTHONDIR/nbextensions
add `ipython install-nbextension` entrypoint
add install_nbextension at top-level IPython.html