Fix for operand order

I noticed that operand order in:
* Division
* Modulo
* Greater-than
* Less-than 

were not working as I expected, they seemed to be working with the operands transposed. Since addition and multiplication are commutative, they worked as expected. However, I had to change the order of the operands.

For an example, previous to this proposed change, if I issued:

    foo = 8 / 2

foo would be equal to 0. However, if I issued:

    foo = 2 / 8

foo would then be equal to 4. 

Here is an example I was compiling and then running in the ethereum client in order to prove out the work. 


```cpp
contract.storage[1000] = 15 / 3
contract.storage[1001] = 10 - 5
contract.storage[1002] = 10 + 5
contract.storage[1003] = 3 * 5
contract.storage[1004] = 10^2
if 10 > 11:
    contract.storage[100] = 100
if 11 < 10:
    contract.storage[100] = 100
```

In the case of success, address values should be:

    @1000 = 5
    @1001 = 5
    @1002 = 15
    @1003 = 15
    @100 = 0

However, in the case of exponents, I was no getting the results that I expected. This may require further review.