allow 64 bit constants

64 bit constants are now properly passed, instead of truncated to 32bit
fixed bug with vararg. only promotes to int if length is less than int (eg: long is left 64bit)
right shift operator