title: Add new attribute to Magento quote/order
body: <p><br>
  I'm working on a custom loyalty points module. During the checkout the customer has the option to redeem his points.<br>
  In the module setup I have created a redeem_points eav_attribute (it's present in the eav_attribute table) and I have added the attribute to the quote, well, sort of...<br>
  Here is how I've done it:  </p>
  
  <ul>
  <li>in the mysql4-install-0.1.0.php I call <strong><em>$installer->installEntities();</em></strong></li>
  <li><p>in Namespace_Module_Model_Resource_Eav_Mysql4_Setup (which extends Mage_Eav_Model_Entity_Setup) there is only 1 method <strong><em>public function getDefaultEntities()</em></strong> that only returns an array which contains (amongst other things):</p>
  
  <pre><code>   'quote' =&gt; array(
          'entity_model'  =&gt; 'sales/quote',
          'table'         =&gt; 'sales/quote',
          'attributes'    =&gt; array(
              'redeemed_points'   =&gt; array('type' =&gt; 'static')
          ),
      ),
  </code></pre></li>
  <li><p>again in mysql4-install-0.1.0.php I create the column in the sales_flat_quote table, like this</p>
  
  <pre><code>   //add redeemed_points to quote table
     $installer-&gt;getConnection()-&gt;addColumn($installer-&gt;getTable('sales/quote'), 'redeemed_points', 'bigint(20)');
     $installer-&gt;addAttribute('quote', 'redeemed_points', array('type'=&gt;'static'));
  </code></pre></li>
  </ul>
  
  <p>In the checkout, when I redeem points, the method savePoints($data) from my class which extends Mage_Checkout_Model_Type_Onepage is called:</p>
  
  <pre><code>public function savePoints($data)
  {
      //save data
      if ($data == 1) {
          $redeemedPoints = Mage::helper('points')-&gt;getRedeemablePoints();
          $this-&gt;getQuote()-&gt;setRedeemedPoints($redeemedPoints['points']);
      } else {
          $this-&gt;getQuote()-&gt;setRedeemedPoints(0);
      }
      $this-&gt;getQuote()-&gt;collectTotals()-&gt;save();
  
      $this-&gt;getCheckout()
           -&gt;setStepData('points', 'complete', true);
      if ($this-&gt;getQuote()-&gt;isVirtual()) {
          $this-&gt;getCheckout()-&gt;setStepData('payment', 'allow', true);
      } else {
          $this-&gt;getCheckout()-&gt;setStepData('shipping_method', 'allow', true);
      }
  
      Mage::helper('firephp')-&gt;debug($this-&gt;getQuote()-&gt;debug());
  
      return array();
  }
  </code></pre>
  
  <p>You'll notice that I debug the quote object in firephp: at this moment (in this step of the checkout, just afetr saving it into the quote) I can see the redeemed_points attribute, with the correct value.<br>
  My problem is that in the next step this attribute is gone from the quote object :(<br>
  So I understand I haven't quite managed to include my redeemed_points attribute in the quote object, but i really don't know what I'm missing...<br>
  Any thaughts someone?</p>