title: breeze cannot fetch metadata in xml format
body: <p>I want to use breeze with odata service: <a href="http://services.odata.org/V3/OData/OData.svc" rel="nofollow">http://services.odata.org/V3/OData/OData.svc</a></p>
  
  <pre><code>    breeze.config.initializeAdapterInstances({dataService: "OData"});
      var ms = new breeze.MetadataStore();
      ms.fetchMetadata("http://services.odata.org/V3/OData/OData.svc")
      .then(function(rawMetadata) {...});
  </code></pre>
  
  <p>or, like this:</p>
  
  <pre><code>    breeze.config.initializeAdapterInstances({dataService: "OData"});
      var em = new breeze.EntityManager("http://services.odata.org/V3/OData/OData.svc");
      em.fetchMetadata()
      .then(function(rawMetadata) {...});
  </code></pre>
  
  <p>But, as I see breeze tries to fetch odata in json format when this service supports only atom/xml metadata.</p>
  
  <p><strong>Response header</strong>:
  Content-Type:application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
  <br/><strong>Error message</strong>:
  <br/>OPTIONS <a href="http://services.odata.org/V3/OData/OData.svc/" rel="nofollow">http://services.odata.org/V3/OData/OData.svc/</a>$metadata. 501 Not Implemented 
  <br/>XMLHttpRequest cannot load <a href="http://services.odata.org/V3/OData/OData.svc/" rel="nofollow">http://services.odata.org/V3/OData/OData.svc/</a>$metadata. Invalid HTTP status code 501</p>
  
  <p>When I call this URL with jQuery, everything goes fine:</p>
  
  <pre><code>$.ajax({
       url: 'http://services.odata.org/V3/OData/OData.svc/$metadata',
       dataType: 'xml',
       type: 'GET'
  }).done(function(data, st, xhr) {...});
  </code></pre>
  
  <p>and this scenario works too:</p>
  
  <pre><code>OData.defaultHttpClient.formatQueryString = '$format=application/json;odata=fullmetadata';
  OData.defaultHttpClient.enableJsonpCallback = true;
  OData.read("http://services.odata.org/V3/OData/OData.svc/Products",
          function (data, response) { alert(data.results[0]); }, 
          function (err) { alert(err.trace); }
  );
  </code></pre>
  
  <p>but this scenario doesn't work:</p>
  
  <pre><code>OData.read("http://services.odata.org/V3/OData/OData.svc/$metadata",
          function (data, response) { alert(data.results[0]); }, 
          function (err) { alert(err.trace); },
          OData.metadataHandler);
  </code></pre>