All Rust commits from Facepunch
Swap to a string builder to save a few allocations when updating dynamic pricing