title: Replace missing values (NA) with most recent non-NA by group
body: <p>I would like to solve the following problem with dplyr. Preferable with one of the window-functions.
  I have a data frame with houses and buying prices. The following is an example: </p>
  
  <pre><code>houseID      year    price 
  1            1995    NA
  1            1996    100
  1            1997    NA
  1            1998    120
  1            1999    NA
  2            1995    NA
  2            1996    NA
  2            1997    NA
  2            1998    30
  2            1999    NA
  3            1995    NA
  3            1996    44
  3            1997    NA
  3            1998    NA
  3            1999    NA
  </code></pre>
  
  <p>I would like to make a data frame like this:</p>
  
  <pre><code>houseID      year    price 
  1            1995    NA
  1            1996    100
  1            1997    100
  1            1998    120
  1            1999    120
  2            1995    NA
  2            1996    NA
  2            1997    NA
  2            1998    30
  2            1999    30
  3            1995    NA
  3            1996    44
  3            1997    44
  3            1998    44
  3            1999    44
  </code></pre>
  
  <p>Here are some data in the right format:</p>
  
  <pre><code># Number of houses
  N = 15
  
  # Data frame
  df = data.frame(houseID = rep(1:N,each=10), year=1995:2004, price =ifelse(runif(10*N)&gt;0.15, NA,exp(rnorm(10*N))))
  </code></pre>
  
  <p>Is there a dplyr-way to do that?</p>