Fix overflow of memory management calcutations on 32-bit

* By doing division before multiplication (the ratios might change by at most 200 but their value is more than a megabyte).
* Also fixes a couple warning and improves the VM test.
* See #185

I also tried by having the different heap size expressed as MB as anyway we would like not to go away from that for sizes of memory blocks but somehow `vmtest` became very slow (60ms/test instead of 1, but oz code seems fine). I have no time to investigate right now and it is a more risky change so I prefer this at least temporarily.