Escape control characters in JSON output

The JSON spec (http://www.json.org) says that control characters are not allowed in JSON, but Rust currently does not escape them. This PR escapes ASCII control characters in JSON output.
Oh, that looks good. Problem though is that some control characters are already in the list so we'd need a pattern like `b'\x00'...b'\x07' | b'\x0b' | b'\x0e'...b'\x1f' | b'\x7f'`. Perhaps that's getting a little complex. I've now updated it with static strings only – let me know which one you prefer.