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
don't know, shift sounds like it can be negative