BUG: add signed flag to chars

Sign of char is undefined and there are numerous places where its sign
is important. Fixes tests with -funsigned-char.
Closes gh-1110
char is actually used as a boolean here?