Fix the way the check_units decorator stores information in the _arg_units attribute (the order of arguments got mixed up). Also show more helpful error messages in case units are not or only partially specified.
There's no 'message' attribute for exceptions in Python3, simply use 'str(...)' instead.
Merge pull request #316 from brian-team/check_units_fix

check_units fix
Document the new time/dt/scheduling system (as if it were already implemented)
First steps towards the new scheduling system
Most problems fixed (except: recording from subgroups, changing dt for spikequeue)
Fix monitors (no need to use the source's clock, monitors can use their own clock)
Fix an overwritten `dt` attribute in `SynapticPathway.initialise_queue`
Use the floating point value of dt, not the `Quantity` as the key for the dictionary in `_determine_clocks` -- otherwise it won't work in Python3
Update some more tests to work with the new clock system.
Make sure that the order of objects in a `Network` is deterministic, even for arbitrary orderings (same dt, when and order attributes).
Don't hide failed `get_value()` calls in `AttributeValue` when transforming the variables dictionary into the final namespace.
Adapt the test that refers to `t` with a 0ms run to make sure that a clock exists.