jsonref 0.4.0

Deref your JSONSchema here!
Documentation
jsonref dereferences JSONSchema `$ref` attributes and creates a new dereferenced schema.

Dereferencing is normally done by a JSONSchema validator in the process of validation, but
it is sometimes useful to do this independent of the validator for tasks like:

* Analysing a schema programatically to see what field there are.
* Programatically modifying a schema.
* Passing to tools that create fake JSON data from the schema.
* Passing the schema to form generation tools.


Example:
```
use serde_json::json;
use jsonref::JsonRef;

let mut simple_example = json!(
          {"properties": {"prop1": {"title": "name"},
                          "prop2": {"$ref": "#/properties/prop1"}}
          }
       );

let mut jsonref = JsonRef::new();

jsonref.deref_value(&mut simple_example).unwrap();

let dereffed_expected = json!(
    {"properties": 
        {"prop1": {"title": "name"},
         "prop2": {"title": "name"}}
    }
);
assert_eq!(simple_example, dereffed_expected)
```

**Note**:  If the JSONSchema has recursive `$ref` only the first recursion will happen.
This is to stop an infinate loop.