Use ropes instead of repeated string concatenation

Reduces lambcmd.native time on a 200kB document with lots of RAW tokens: 10s -> 1.5s
Repeatedly concatenating lots of RAW tokens is an O(N^2) operation and generates
a lot of extra work for the garbage collector too.
Use BatText instead which doesn't concatenate immediately but uses ropes.

(Could also use a string list and concatenate at the very end, but BatText is clearer)
Merge pull request #12 from edwintorok/use_ropes

Use ropes instead of repeated string concatenation