Changes to the semantic analysis and parser

- Body of a let expression is now an expr, not an expr list;
  if more than one expression (separated by ;) appear, we combine
  them into a SeqExpr
- Added comments to semant.ml