Faster method for testing notebook examples

Instead of starting up an IPython kernel and executing cells,
we just convert the whole notebook to a Python script
and exec it.

Other minor changes:
- Moved some things in test_examples to utils.ipython
  - Should now be easy to generate Python scripts for docs
- Changed requirements-test, as pyzmq is no longer necessary
  (but jinja2 and pygments are)
Moved execfile to nengo.utils.compat

- Also made the implementation a bit safer
Use StringIO.write instead of print

- Previous print_function implementation didn't work
- Added a small unit tests to make sure str(Simulator) works