Started working on being able to assign to local variables

So far you can assign unknown variables and expressions that are of
type boolean.
Implemented assigning numeric values
Implemented literal strings
We can now assign strings as well
Comparing strings now works through a new callback method

This way we won't have to rewrite the way CCode writes strings, which
is "string",6. And it makes string comparison from libjit easier, this
however is not yet implemented.
String comparison from jit code works too now
Assiging now mostly works in the jitted code as well
Bytecode now accepts expressions of type Value as well, similar to CCode
Did some general code cleanup