Solves Int64 problems mentioned in issues #162 and #246

- Fixes a Number precision issue in UInt64.op_LeftShift 
- Truncate the second operand in UInt64.op_LeftShift with 0x3f (only use lower 6 bits)
- Fixes Int64.op_RightShift for negative values
- Introduces truncation for casts from ulong and long to byte, sbyte, short, ushort, int, uint

Note: some F# tests fail with "Win32Exception: The system cannot find the file specified", but I doubt that I have caused it. Also, the test Issue184 is culture dependent, but that is not a big problem right now.