Bool as char

This should fix #317 (in fact I realized that for weave `bool` values are already represented as `char` in the C++ code). I also sneaked in one more fix (variables such as the `N_incoming` were not correctly loaded in C++ standalone code) and a small optimization (subgroups always used an expression based on a subtraction, even if this subtraction was `- 0`) into the branch.

Good to merge (if tests pass) from my side.