more tests, some are not correct yet
basic working arithmetic system.
- unified AST nodes (removed BoolOp, Compare, and complex ops NotEq etc)
- represent complex ops with simple/atomic ones
- perform arithmetic and numerical reasoning on number ranges
- the following program can be reasoned about and w will only refer to the 'w' on the true branch.

x = int(random)
y = int(random)

if 1 < x < 2 and y < 4:
    z = x + y
    if z < 7:
        w = "true"
    else:
        w = False
print x, y, w