fmt: updated tables for charwidth

There was a subtle bug in the charwidth table generation that I fixed. This is the same version that I've put in the [upstream pull request](https://github.com/rust-lang/rust/pull/15283), but unless and until that lands it'd be useful to have correct functionality here.

Also note that (at least for now) there is no attempt in `parasplit.rs` to resolve locale and thus support proper CJK width; the present code assumes non-CJK locale at all times.

(There may be some delay landing upstream because we might end up breaking out a lot of the unicode functionality from libcore to libunicode, and I haven't quite figured out the right way to get that done yet.)