Start implementing a simplified namespace handling
Continue simplifying the namespace handling, `resolve` and `resolve_all` are now methods of `Group`.
Make `Group.resolve` resolve both internal and external variables. Test suite passes now.
More cleanup, remove explicit use of get_local_namespace, not caring about the explicitly set namespace
Use functools.partial instead of a lambda function to keep the object pickable.
Move the `runner` method from `NeuronGroup` into `Group` (it could also be used for other groups, e.g. for running arbitrary code in the context of `Synapses`)
Rename `GroupCodeRunner` to `CodeRunner`
cleanup: remove some unused imports
Merge remote-tracking branch 'origin/master' into namespace_cleanup

Conflicts:
	brian2/core/network.py
	brian2/devices/cpp_standalone/device.py
Consistently pass run_namespace as an argument wherever level is used
Implement the final hierarchy of namespace resolution and adapt the documentation accordingly. Closes #198
Merge pull request #204 from brian-team/namespace_cleanup

Namespace cleanup