Implement non-blocked sampling for array based samplers.
#626: ImportError when IPython not installed

When importing pymc, "interactive_sampling.py" would try to import
IPython. If IPython is not present, importing pymc failed with an import
error.

The solution is to check for the IPython module to be present. This
commit also checks if it is running inside an IPython Notebook kernel
and raises an NotImplementedError otherwise.
Merge pull request #587 from pymc-devs/blocked_sampling

Implement non-blocked sampling for array based samplers.
Fix Python 3 syntax error
Merge remote-tracking branch 'upstream/master' into isample
Merge pull request #628 from akloster/isample

MAINT: Wrap IPython import into try/except block. Fixes #626