Unittests with backends

I propose a test framework that uses the current unittests with all available backends

Motivation behind the change
=======================
By developing the PyNN 0.8 backend for the neuromorphic hardware, I have benefited a lot from the unittests developed for the mock backend. So, in the process of the backend testing, I have built this framework.

Where it is, how it is implemented
===========================
The files lie in unittests/backends. It uses all the files from unittests that directly use the mock simulator as backend, namely: test_simuation_control, test_population, test_populationview, test_assembly, test_connectors, test_projection.
It is implemented using a register_class and a register_function mechanism (similar to the registring of the scenarios in the system tests).

What it does
==========
- Launching nosetests in unittests has exactly the same behavior as before
- Launching nosetests in unitests/backends launches the unittests with a simulator backend (see above) for the available simulators. If the test is excluded, it is indicated as skipped. If a simulator is not available, all the corresponding tests are indicated as 'skipped'
- Note that the different tests that are launched are defined through  a simple import in the file glob_import. In the current commit, all imports are commented except test_simulation_control
- test_hardware_brainscales is implemented. 
- test_spiNNaker is present, but its options have to be set