UTF-8 fixes for fscanf and sscanf

Here is the "clean" patch to fix UTF-8 character handling in fscanf and sscanf. In the spirit of the optimization that was done to Pointer_stringify, I also included short-cuts for the (frequent) case of ASCII-7 characters. Test cases are included.