Add Makefile rules to pretty-print and transform test files
Add BinOp constructor to Expr datatype for pretty-printing

Distinguishes infix application from prefix application so that we can avoid a
number of precedence-related bugs. BinOps are turned into equivalent Apps by
the removeBinOps transformation if pretty-printing is not requested.