title: dplyr `mutate` returns error when used twice
body: <p>It seems that, for certain kinds of objects stored in list-columns, <code>dplyr::mutate</code> will only work on them <em>once</em>.  That is, two successive uses of <code>mutate</code> causes an error.</p>
  
  <pre><code>library(dplyr)
  one_mod &lt;- data.frame(grp = "a", x = runif(5,0,1)) %&gt;%
    tbl_df %&gt;%
    mutate(y = rnorm(x,x*2,1)) %&gt;%
    group_by(grp) %&gt;%
    do(mod = lm(y~x,data = .)) 
  </code></pre>
  
  <p>This approach does not work:</p>
  
  <pre><code>one_mod %&gt;%
    mutate(rsq = summary(mod)$r.squared) %&gt;%
    mutate(aic = AIC(mod))
  # Error: unsupported type for column 'mod' (VECSXP)
  </code></pre>
  
  <p>but this one does </p>
  
  <pre><code>one_mod %&gt;%
    mutate(rsq = summary(mod)$r.squared,
       aic = AIC(mod))
  #Source: local data frame [1 x 4]
  #Groups: grp
  #
  #  grp     mod       rsq      aic
  #1   a &lt;S3:lm&gt; 0.6615589 10.63317
  </code></pre>