title: JSON Schema - specify field is required based on value of another field
body: <p>Wondering if this is possible with schema draft 03. I've gotten dependencies working elsewhere, I think there is possibly just some creative use of them required in order to use them for specifying the <code>required</code> property of some field.</p>
  
  <p>My current best attempt (which doesn't work) should give you some idea of what I'm after. I want a value required by default, and optional when another field has a particular value.</p>
  
  <pre><code>{
      "description"   : "An address...",
      "type" : "object",
      "properties" : {
          "postcode": {
              "type" : "string",
              // postcode should be required by default
              "required" : true,      
              // postcode shouldn't be required if the country is new zealand 
              "dependencies" : {
                  "country" : {
                      "enum" : ["NZ", "NZL", "NEW ZEALAND"]
                  },
                  "postcode" : {
                      "required" : false      
                  }
              }
          },
          "country": {
              "type" : "string",
              "enum" : [
                  // various country codes and names...
              ],
              "default" : "AUS"
          }
      }
  }
  </code></pre>