libutils: Fix type error in Unicode's utf8_length() method.

For Chinese characters, its codes would be larger than 128. So if use
signed char variable to hold these codes, they would be treated as
negative. That may cause some unexpected error.

Take character code 0xE69C88 for example. In this method, first_char
would be 0xE6, when we calculating value utf32 in statement
utf32 |= ((~to_ignore_mask) & first_char) << (6 * (num_to_read - 1));
first_char will be converted to int32_t type. If first_char was define
as singed char, it will be converted to 0xffffffe6, this lead to an
error fo utf32 calculating.

OLD Change-Id: Icf61a898a2a38b8492da0a7ab759e01c15a2d125
Author: Liang Wang <liangx.wang@intel.com>
Signed-off-by: Liang Wang <liangx.wang@intel.com>
Signed-off-by: Bing Deng <bingx.deng@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 41014

Change-Id: I32809e731cc945a2b12230d6aa4692dc781c1599