Working on a optimisation to remove pointless insturctions
Completed an optimasiation which removes unnecsary loads
Readded literal analysis and control flow optimisations, also removed instructions for addition and instruction by 0
Added code to remove unnecessary stores, loads, and arithmetic and boolean operations
Fixing various semi broken test cases
fixed unary methods in semantic checker for new optimisations
Added new types.