Fix validateaddress() when used on address not in wallet
Add getrawchangeaddress and gettransaction to RPC proxy
Fix incorrect evaluation of some ops even in OP_IF

Previously some ops were being incorrectly executed in unevaluated IF
branches. The bug was pretty simple and due to missing braces:

    elif fExec and sop == OP_CHECKMULTISIG or sop == OP_CHECKMULTISIGVERIFY:

If sop == OP_CHECKMULTISIGVERIFY the opcode is evaluated regardless of
whether or not fExec is True. I've been meaning to remove the redundent
and rather slow fExec evaluation for awhile now and took the opportunity
to do so. This reorganized a lot of code due to indentation, but there
shouldn't have been any actual changes beyond fixing the opcodes
affected by the bug.

Thanks goes to Matthew Roberts <matthew@roberts.pm> for catching the
mistake!