Add happy path escape for string that don't need escaping

Benchmark with and without happy path
100000 iterations, with warmup

Baseline release

Without magic characters: 0,4782s 0,0048ms
With magic characters:    0,5438s 0,0054ms

With happy path release

Without magic characters: 0,2174s 0,0022ms
With magic characters:    0,5535s 0,0055ms
Add an escape char lookup table and buffer safe characters

Benchmark with and without loop optimization
100000 iterations, with warmup

Baseline

Without magic characters: 0,2178s 0,0022ms
With magic characters:    0,5570s 0,0056ms

With escape table and buffering

Without magic characters: 0,2257s 0,0023ms
With magic characters:    0,4180s 0,0042ms
Always be measuring

This was actually slowing us down.

Baseline

Without magic characters: 0,2175s 0,0022ms
With magic characters:    0,4067s 0,0041ms

After

Without magic characters: 0,2151s 0,0022ms
With magic characters:    0,3738s 0,0037ms
Drop the continue, make it a branch
Trim the fat
Explicit access modifiers
Group the escape related fields before ctor
Consistent naming convention
Merge pull request #45 from niik/optimize-string-serialization

Micro-optimize string serialization