A nicer CSON.stringify

# CSON.stringify

- [x] have `CSON.stringify` produce safe CSON that looks nicer than native JSON
- [ ] <del>add minimal `json2cson` tool that does the same, given valid JSON or CSON</del>
- [ ] <del>add minimal `cson2json` tool to reproduce JSON, given valid JSON or CSON</del>

Still handles all the same features as `JSON.stringify` does, the same way, including weird inputs.

The main difference between this cson output, and what the `cson` package's json2cson spits out (also what prompted this pull request) are the object literals: this codec always uses curly braces, thus making:

```cson
[
  {
    hello: 'there!'
  }
]
```

instead of:

```cson
[
  hello: 'there!'
]
```

The latter is less safe, explicit, and convenient, for instance when you have some version controlled cson array which starts out with just one huge object in it. Given the cson-safe serialization, when you later add a new object to the array, there won't be a complete reindentation of the first object. And in the case of a human editing it by hand, the mistake of making the two objects actually become just one merged object is less likely to happen by accident.
I actually ran a little poll among peers (including a few as fond of comma-first json as I am), who all barfed on it. :-) I also searched around a bit, looking at implementations, and couldn't find any who did, so it might be safer for adoption if we don't either.

I'd be okay with either, but didn't feel like sticking out my chin to promote it, especially as there is some benefit in being able to quickly glean what values are, and a json object full of empty arrays and objects gets three times as compact and gleanable the current way.