title: Sailsjs Waterline's Query method calls cast function to undefined attributes
body: <p>I'm using Waterline (Postgresql database) method Model.query(). 
  For example: (the sql query is actually much more complicated :) )</p>
  
  <pre><code>Model.query('select * from user', function(err, result) {
  
  });
  </code></pre>
  
  <p>and there is such error:</p>
  
  <pre><code>TypeError: Cannot read property 'type' of undefined
    at /node_modules/sails-postgresql/lib/query.js:544:33
  </code></pre>
  
  <p>This is the code in the sails-postgresql module, where the error occurs:</p>
  
  <pre><code>Object.keys(values).forEach(function(key) {
  
      // Lookup schema type
      var type = self._schema[key].type;
      if(!type) return;
  
      // Attempt to parse Array
      if(type === 'array') {
        try {
          _values[key] = JSON.parse(values[key]);
        } catch(e) {
          return;
        }
      }
  
    });
  </code></pre>
  
  <p>So, I've printed the values and keys like that</p>
  
  <pre><code>console.log('self._schema[' + key + '] = ' + self._schema[key]);
  </code></pre>
  
  <p>and found out that Waterline calls cast function to every attruibute of my Model, even there is no such attribute used in my query. Ofcourse it causes error. 
  I've made a patch:</p>
  
  <pre><code>if(!self._schema[key]) return;
  </code></pre>
  
  <p>and now it works fine. But I don't think that this is the right solution.</p>
  
  <p>Is there anybody who knows how to fix this bug another way?
  Or maybe I'm doing wrong calling query method and it should be called another way?</p>