Another go at simulator tests

This is an alternative to PR #72 with simpler syntax. Unit testing works properly with `unittest discover` and `nosetests` in `nengo`. It is possible to run these test with other simulators; see the companion [PR#23](https://github.com/jaberg/nengo_ocl/pull/23) for `nengo_ocl`, and the docstring of `SimulatorTestCase`.

I also squashed a bunch of @jaberg's commits from yesterday, as there was some back and forth that future generations can probably not worry about.