More conservative void casts and insert more void casts in the frontend.

Changes:
* Void casts now require the argument to be determinate: pointers should be
  alive, the value should not be a VIndet unless it concerns an unsigned char
  cast.
* Insert (void) e casts at (e,_), for (_;e;_), e. Function calls and assignments
  already contained appropriate casts.