Issue 2053:
Image now complains if it receives neither filename, url, nor data (param1)
Image honors width and height on html.
tests/test_display.pl exhibits this new behavior
adjust how canning deals with import strings

* imports should only happen once
* errors should only be logged when *user* imports fail (not no-numpy)
Keep `magic_arguments` module vs function clear.
ctx is ignored by Cython > 0.13.
Don't unpack args.force for one use.
Produce annotated cython source.
Use `io.open` ensure the file is read as UTF-8.
Print message on stderr if annotated html cannot be read.
Python 2.6: Add `assert_is_none`, `assert_is_not_none` to `nose.tools`.
use redirect for new/copy notebooks

fixes #2217
Added link-args argument to %%cython.
Add failing test for issue gh-1456
Reapply our monkeypatch to inspect.findsource().

Closes gh-1456
Merge pull request #2222 from minrk/canning

adjust how canning deals with import strings

* imports should only happen once
* errors should only be logged when *user* imports fail (not systems without numpy)
add data_pub messages

for publishing raw data, rather than reprs (zmq-only)
handle data_pub in parallel Client
don't protect AsyncResult.metadata while result is still pending

partial results are still valuable, and don't need protecting.
adjust test expectations for accessible incomplete metadata
basic tests for data_pub
add IPython.zmq.datapub