Number parsing fix and optimization (#27)
Remove `GOLANG_NUMBER_PARSING` and remove the imprecise parsing and fix up the actual number parsing in Go.
By default, everything that looked like a number would be accepted and a lot of errors were not caught.
Uints will now actually be used if numbers are above maximum int64 and below uint64 with no float point markers.
Even with all the additional checks we are still faster:
```
λ benchcmp before.txt after.txt
benchmark old ns/op new ns/op delta
BenchmarkParseNumber/Pos/63bit-32 91.9 75.9 -17.41%
BenchmarkParseNumber/Neg/63bit-32 106 77.2 -27.17%
BenchmarkParseNumberFloat-32 190 72.5 -61.84%
BenchmarkParseNumberFloatExp-32 212 98.6 -53.49%
BenchmarkParseNumberBig-32 401 175 -56.36%
BenchmarkParseNumberRandomBits-32 420 230 -45.24%
BenchmarkParseNumberRandomFloats-32 305 172 -43.61%
```
... and full benchmarks:
```
benchmark old ns/op new ns/op delta
BenchmarkApache_builds-32 137091 139556 +1.80%
BenchmarkCanada-32 30705862 19000003 -38.12%
BenchmarkCitm_catalog-32 1921474 2093471 +8.95%
BenchmarkGithub_events-32 77611 77873 +0.34%
BenchmarkGsoc_2018-32 1220291 1215097 -0.43%
BenchmarkInstruments-32 366747 374568 +2.13%
BenchmarkMarine_ik-32 27410259 18343775 -33.08%
BenchmarkMesh-32 8200018 5896043 -28.10%
BenchmarkMesh_pretty-32 9793413 6947830 -29.06%
BenchmarkNumbers-32 1967319 1213924 -38.30%
BenchmarkRandom-32 1072071 1042956 -2.72%
BenchmarkTwitter-32 645530 645529 -0.00%
BenchmarkTwitterescaped-32 1014456 1022548 +0.80%
```