Move the _pre_synaptic and _post_synaptic data structures into the SpikeQueue (ignoring standalone mode for the moment)
Rename non-public methods of `SpikeQueue` do make the public interface clear, also rename `SpikeQueue.compress` to `SpikeQueue.prepare`
Some more refactoring of the `SpikeQueue`:  move the handling of changes in dt into the `SpikeQueue`. The remaining public interface consists of the methods `prepare`, `push`, `peek`, `next`. Delays are converted and stored in the `SpikeQueue` (this means that delays are not allowed to change during a run -- although I don't think it would have worked previously either)
First attempt at a C++ SpikeQueue with a Cython interface
Refactor the SpikeQueue a bit more to match the  interface of the C++ version
Fix subgroup handling in the C++ SpikeQueue
Use the new C++ SpikeQueue when using weave for the `Synapses` object
Implement handling a change in dt between runs for the C++ SpikeQueue.
Add a `spike_queue` method to `Device`, returning a `SpikeQueue`. In the `RuntimeDevice`, this method returns the C++ version when it is available and uses the Python version otherwise.
Improve the performance of the `spikes` property a bit.
Return numpy arrays (not lists) from `SpikeQueue.peek`, this is expected by the numpy code
Fix the unintended copying of the data returned by the peek function of the C++ SpikeQueue.
Do not pass the "t" variable to the threshold by default -- it's only needed with refractoriness
Use create_runner_codeobj instead of directly creating the codeobject for push_spikes and initialise_spikes
For consistency with the standalone implementation, use a template class for SpikeQueue, specifying the data type of floating point variables
Adapt standalone to the new SpikeQueue structure, it now uses exactly the same (copy&pasted) version of SpikeQueue as runtime. The test suite should now pass again.
Add cython to the dependencies so that it can be tested with travis
Fix a C++ syntax that isn't standard and therefore does not work with all compilers.
...and fix the C++ issue not only for standalone
Rename SpikeQueue.next to SpikeQueue.advance to avoid confusion with the next method of iterators (led to problems with 2to3)