Allow the %run magic with '-b' to specify a file.

The syntax would be:
    %run -d -b file2.py:30 file1.py

to break at line 30 of file2.py when running file1.py.

The old syntax
    %run -d -b 20 file1.py
still works the way it used to.

Suggested by user gozzilli on StackOverflow
(http://stackoverflow.com/questions/14305203/ipython-set-a-breakpoint-in-imported-file/).
Fix bp_file -> filename
Merge pull request #2782 from ellbur/run-breakpoints

Allow the %run magic with '-b' to specify a file.
Add shell_futures parameter to run_cell to allow running code without sharing __future__ imports.