Reviewed-by: jjg, mcimadamore, darcy Contributed-by: mernst@cs.washington.edu, mali@csail.mit.edu, mpapi@csail.mit.edu