Department of Computer Science, University of Colorado, Boulder, CO 80309, USA. hamady@colorado.edu|Department of Computer Science, University of Colorado, Boulder, CO 80309, USA. hamady@colorado.edu|Department of Computer Science, University of Colorado, Boulder, CO 80309, USA. hamady@colorado.edu|Department of Computer Science, University of Colorado, Boulder, CO 80309, USA. hamady@colorado.edu