I'm a bit worried about sending our internal `custom_types` object out into the world. library consumers have a bad habit of mutating things they shouldn't mutate, which can ruin the behavior of the library. might be safer to create a new definitions object for each schema we create.

that's why i used functions here: https://github.com/Clever/json-schema-converter/blob/master/src/json_schema.coffee#L64-L70. the tests were mutating things and it was messing up other tests