Have `get_units` always return a `Unit` (and not a `Quantity`). Closes #329
Convert scalar quantities to strings in a more similar way to quantity arrays, e.g. use "2. mV" instead of "2.0 mV" and use scientific notation when necessary. Also make a better choice for the best unit. Closes #322
Use a list, not a set of variables in `get_linear_system` to not lose the association of variable names with their entries in the matrix. Closes #335
Only upsample a TimedArray when necessary (instead of using an "upsampling factor" of 0, leading to a division by zero). Closes #332
Merge pull request #334 from brian-team/fix_332

Only upsample a TimedArray when necessary
Merge pull request #333 from brian-team/unit_fixes

Unit fixes
Fix the setting of "unless refractory" with string expressions that do not refer to the variable itself.
Yet again: allow an empty `code` argument for `CodeRunner`
Remove the `int(...)` from the string expressions in the barrelcortex example for now, see comments in #326, #337
Fix two regressions in standalone examples introduced during the OpenMP merge: N_incoming and N_outgoing were not updated during synapse creation and the wrong size argument was used in the "push" template when used with subgroups
Implement a period argument for all the SpikeGenerator objects, and make them use Dan's optimization, keeping in memory the last index of the played spike times, in order to avoid useless search.
Note that I had to change the fact that spikes are now played when in between t and t+dt, and not as before, between t-dt and t. This is because, otherwise, spikes in the last timestep were never played.
Closes #327
xrange() is not recognized in Python 3.xx, replacing it by range()