Start defining the tree builder interface
More preliminary tree builder work
Vec::new() -> vec!()
Rust upgrade
Add an example to drive the tree builder
StrBuf cleanups
Merge CharacterToken and MultiCharacterToken

This costs less than 1% on most benchmarks.  If we want this optimization we
can add it a layer down, using a StrBuf / Vec<u8> with small vector
optimization.
wip