Semantic checking for binops, time to see if it works
Semantic checking tests passing and added and and or operators
Can now do arithmatic on ints and floats, cast up to float
Got the boolean operators working on ints, still need to do more testing but so far so good
Code gen for binops looks good.

Todo:
modulos- i forgot about this, should be easy to add
casting to float might be tricky...hopefully just have to change 1 func call
right now boolean ops don't have presidence which causes type checking to fail without parens.
Merge remote-tracking branch 'origin/master' into binary_ops

Conflicts:
	compiler/ast.mli
	compiler/generate.ml
	compiler/parser.mly
	compiler/sast.mli
	compiler/sast_printer.ml
	compiler/translate.ml
Expressions working with int to float conversions.

The only issue I have is with the a + b == c +d being invalid.
Maybe it should?
minor parser change
refactor binop code gen and added to tests
refactored the use of side to semantic checking
Merge remote-tracking branch 'origin/master' into binary_ops

Conflicts:
	compiler/parser.mly
	compiler/sast.mli
	compiler/sast_printer.ml
	compiler/semantic_check.ml
Merge pull request #105 from rapid-lang/binary_ops

Binary ops