Don't use an uninitialized variable if trying to read a numeric char from a property and the value is out of bounds for the target type. See bug 4391. This is the only place where the warning that some compilers give makes sense; if it still occurs after this change, it's just broken.

[SVN r81507]
Bug 8879: Remove unused typedefs to silence a GCC warning.
Write tabs as \t in JSON instead of a numeric escape.
Include recent bugfixes in release: #4391, #8879, #8776.