Raise an error when reassigning a key or value
Parse and unescape byte sequences in strings
Allow trailing comma after last array value
Bugfix: merge subsequent key groups instead of overwriting

Previously:

[foo.bar]
a = 1
[foo.baz]
b = 2

would result in {"foo" => {"baz" => {"b" => 2}}}, overwriting the previous
"bar" key. This was mistakenly encoded since the beginning of the parser.