Update to latest version of rust.
Improve type system.
Add basic type checking.
Clean up asm output a bit.
Clean up variable location code
Reorganise some code.
Improve error messages