Fixed issue with objects containing string values with a tilde in them.

If objects that have string values containing tildes are serialized and then deserialized with circular-json, the character before the tilde gets lost.

Example:
```javascript
var v = require(['circular-json'], function(cj){
  var foo = {bar: 'something ~ baz'};
  console.debug(foo);
  console.debug(cj.stringify(foo));
  var json = cj.stringify(foo);
  console.debug(cj.parse(json));
});
```

Outputs: 

    Object {bar: "something ~ baz"}
    {"bar":"something \\x7e baz"}
    Object {bar: "something~ baz"}

It should output:

    Object {bar: "something ~ baz"}
    {"bar":"something \\x7e baz"}
    Object {bar: "something ~ baz"}

The pull request corrects this behavior and adds a test case for it.