De-alloca-tion: Rewrite getOperand to eliminate use of 'alloca' instructions

getOperand is now split into two functions: getOperandAddr which works
like the old getOperand by returning a pointer containing the address
of the operand, and getOperandValue which loads the operand if it is a
memory location, or just returns a literal or variable if not. Code
that called getOperand has been rewritten as well.