whit: cache the to_s result.
This saves about 1.6MB of generated memory, something on the order of 10,000
object allocations and garbage collections, and a whole lot of waste in my
test system.
This runs at, like, O(50n), so while it is just linear it is still a huge
constant factor through the system.
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>