Skip test_examples if IPython>=1.0 not available

Previously this would just fail. Now, we skip example testing if
IPython is not installed, or a version < 1.0 is installed.

Note that the additional monkey patching of
`_pytest.capture.DontReadFromInput` is due to a bug in how pytest
and IPython 0.12.1 interact. They both change sys.stdin, in
incompatible ways. Adding these two functions allows them to coexist
long enough for us to detect that an old version of IPython is
installed so we can skip the tests successfully.
Scale spikes by `dt`.

- Fixes #510.
- PES is now invariant to choice of `dt`.
- TODO: BCM and Oja are not fully invariant to `dt`.
Better error message for unprobable LearningRules

The BCM and Oja rules currently have no probeable parameters. Trying
to probe something on them gave a very unhelpful error message
that made it sound like no LearningRules are probeable. Fixed this.
Exposed some internals of BCM and Oja for probes