Improve String() performance

Before:
```
BenchmarkStringSimple    5000000               305 ns/op              16 B/op          1 allocs/op
BenchmarkStringComplex   1000000              1361 ns/op             569 B/op          5 allocs/op
BenchmarkStringAverage   2000000               906 ns/op             290 B/op          3 allocs/op
```

After:
```
BenchmarkStringSimple   10000000               197 ns/op              16 B/op          1 allocs/op
BenchmarkStringComplex   5000000               511 ns/op              88 B/op          3 allocs/op
BenchmarkStringAverage   5000000               412 ns/op              56 B/op          2 allocs/op
```

At this point, none of the delimiter constants (`dot`, `hyphen`, `plus`) are being used. We can remove them or make an effort to use them everywhere. I have a commit for the latter already, but what do you prefer?