Also test without Cython installed to make sure we don't assume Cython anywhere
Only set cython/weave optimization options during testing when they are actually tested (avoids failed tests when cython/weave is not available)
Only raise an error for missing Cython during install when `--with-cython` is set.
Do not already fail at import of the cython codegen package when cython is not available
Replace `make_function` (and `make_weave_function`, `make_cpp_function`) by `implementation`. See discussion in #300
Rename `Device.insert_device_code` to `Device.insert_code`
Use shorter names for the keyword arguments in `Device.build`
Rename `brian_prefs` to `prefs`
Give a helpful error message when using `Group.runner`
Give a helpful error message when providing an incorrect "when" argument
Give a helpful error message when using 'bool' instead of 'boolean' as a unit. Closes #342
Updated run_examples to work with rename brian_prefs -> prefs