This can help to prevent out-of-bounds reads such as the one removed in 43a33e513c4044dc01d92e77da76f2e98faaedb5, or prevent other bugs.
There is some code that correctly uses signed chars, but this can be trivially made "tidy" by using C++11 narrowing init to int (or whatever type you want).