This material is based upon work supported by the National Science Foundation under Grants DMS-8613576, DMS-8902619, DMS-9205139, DMS-9504764 and DMS-9803518, an Alfred P. Sloan Foundation Fellowship (1987-1989), a joint appointment with the University of Maryland Institute for Advanced Computer Studies (1989-1994), and a Semester Research Award from the General Research Board of the University of Maryland (Fall 1998).)