Add a StateUpdater class as a base class for state updaters and taking
care of registering state updaters.
Rename StateUpdater to StateUpdateMethod
use StateUpdateMethod to determine a state updater
Merge remote-tracking branch 'origin/master' into stateupdater_choice

Conflicts:
	brian2/equations/equations.py
	brian2/groups/neurongroup.py
pyparsing 2.0 no longer supports python 2, 1.5.7 is the last version
that does.
Make Expression.split_stochastic handle multiple stochastic variables
start implementing stochastic state updates
Add support for stochastic differential equations -- working but needs some refactoring/documentation. Only Python target supported for now.
document ExplicitStateUpdater more thoroughly and fix a bug in the tests
Implement the derivative-free Milstein method for stochastic
differential equations
Allow minus sign in unit definitions of equations (to allow second**-.5,
for example)
Add an example showing the integration of a stochastic differential
equation with multiplicative noise and compare it to the exact solution.
(Re-)allow having no stochastic term in a state updater description.
Add a test testing state updaters' handling of static equations
(currently failing)
Replace xi with dW in stochastic state updater descriptions
Make state updates for static equations work correctly (use the
substituted expressions)
Support state updaters that handle additive but not multiplicative
noise.
Add some documentation for the new state update mechanism
Warn if a state updater is explicitly specified but claims to not
support the equations.
use the most recent sympy version for testing