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