seq: fix build
fmt Knuth-Plass implementation; unicode char_width

fmt:
- Implemented Knuth-Plass optimal linebreaking strategy.
- Added commandline switch -q for "quick" (greedy) split
  mode that does not use Knuth-Plass.
- Right now, Knuth-Plass runs about half as fast. It also
  uses more memory.
- Updated fmt to use char_width (see below) instead of
  assuming each character width is 1.
- Use i64 for demerits instead of int in K-P, since int is
  pointer sized and will only be 32 bits on some
  architectures.
- incremented version number
- Incorporated improvements suggested by huonw and Arcterus.
  - K-P uses indices of linebreaks vector instead of raw
    pointers. This gets rid of a lot of allocation of boxes
    and improves safety to boot.
- Added a support module for computing displayed widths of unicode
  strings based on Markus Kuhn's free implementation at
    http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
- This is in `charwidth.rs`, but this is a temporary measure
  until the Char trait implements .width(). I am submitting
  a PR for this soon, and the code in charwidth() is what's
  generated libcore.

closes #223
Merge pull request #318 from kwantam/master

fmt: Knuth-Plass implementation; common: add unicode char_width function
Merge pull request #323 from ebfe/seq

seq: fix build
fmt: update use of *T to *const T
Merge pull request #325 from kwantam/master

fmt: update use of *T to *const T
Remove use of raw bare pointers (*T -> *const T)
Merge pull request #322 from ebfe/fix-build-master

Remove use of raw bare pointers (*T -> *const T)
id: fix build
Modify Makefile to build correctly when using BUILD
tail: fix readme typo

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>
Merge pull request #327 from akiradeveloper/feature/fix-typo-tail-readme

tail: fix readme typo
Merge pull request #326 from Arcterus/id-fix

General fixes