Deep merge dereferenced keys

This is a quick and dirty solution to a problem I had when overriding values in our schema. The problem it's trying to solve was this:

Given the `links` snippet:
```json
      "targetSchema": {
        "properties": {
          "operation": {
            "$ref": "/schemata/operation",
            "properties": {
              "id": {
                "$ref": "/schemata/operation#/definitions/id"
              }
            }
          }
        }
      }
```

the resulting documentation would not include both the dereferenced object's properties and the override properties. Instead the override properties would replace those from the dereferenced object.

This is a somewhat naive approach and I'd be open to feedback on how to improve it.