Moving tests back to module subfolder

This makes it possible for other packages to import the tests, and run some of
them as part of their own test suites. This is useful for simulators outside
this project.
Remove SimulatesMetaclass

- The revised SimulatorTestCase can be applied to external simulators.
  Also, the tests are now run, such as they are, and not skipped.
- The goal of finding all the Simulator test classes can be achieved using
  TestLoader.discover, which is provided by unittest.
- helpers.simulator_suite doesn't import *all* tests

simulator_suite should only import SimulatorTestCase subclasses,
and now does. At least via nosetests.
nengo_ocl's unit tests don't work using unittest discover because
the TestLoader.discover call refuses to discover tests within a foreign
project. Still this is better than what was before.
Better testing for multiple simulators

- Removed confusing metaclass implementation
- Unit tests that run simulations should subclass from SimulatorTestCase
- Other simulators can be tested by collecting these tests together
  and replacing the simulator in those test cases
  - See SimulatorTestCase's docstring for an example
Added functions for other simulators to use

- `load_nengo_tests` makes it a one-liner
- `simulator_test_suite` is there for people who need more control