Renames

This branch implements the final renames we still wanted to before the alpha release (I think we had a consensus on all of them, but we can easily revert individual ones if that is not the case, they are all in separate commits). It also adds some helpful error messages when users are trying to use "old" syntax.

The renames:
* `make_function`, `make_weave_function` and `make_cpp_function` are all replaced by `implementation`. For weave/C++ a single string is interpreted as filling the `support_code` slot, but it is also possible to provide a full dictionary
* `Device.insert_device_code` --> `Device.insert_code`
* in `Device.build`: `run_project` --> `run`, `compile_project` --> `compile`, `project_dir` --> `directory`
* `brian_prefs` --> `prefs`

Anything I forgot or anything that I misunderstood? 

Closes #300, closes #342