Added memory locations, and jumps.

Currently memory locations are only valid for EBP + offset style accesses. This
seems reasonable because it eliminates complicated clobber checking for accesses
to locations like EAX + ECX*4 + 0x234234. Also, it fits in with the convention
of using the stack for local variables.

There are two areas that need improvements with jumps. The first being the jump
predicate which will require keeping a map of predicate indices to byte indices
in the CodeGenState, and another is that unconditional jumps should force eval
to not consider any remaining bytes in the stream and pass them on as garbage.
Currently the sequence:

    jmp 12
    inc ecx

Will register as clobbering location ecx even though that instruction is
impossible to reach (assuming jump resolution is non-buggy).