Add shell_futures parameter to run_cell to allow running code without sharing __future__ imports.
Test __future__ environments
Better support compiling cells with separate __future__ environments
Fix unrelated test.

nose.tools no longer has a fail() function
Merge pull request #1671 from takluyver/back-to-the-future

__future__ environments