A cleaner solution to determining representation CG type information.
Fix bounds checking on INC/DEC.

This was incorrectly implemented to allow success for:

VAR v: CARDINAL := LAST(INTEGER);
BEGIN INC(v) END;

because it did not check for integer increment wrapping to an illegal CARDINAL value.
Implement PutLongInt, GetLongInt.
Corrections and adjustments to match C1x stdatomic compare and swap.
First cut rework of support for atomic primitives as documented in Atomic.ig.
Forgot to add extra parameter to Initialize function for Word/Long.
Drop CAS/CASP.
Adjust bounds to be different than the type's bounds only if both sum bounds
are known exactly.
Comparisons should be performed on the signed type of the expression.
Need to used appropriate signed type (Integer or Longint) for operation and
range checks.
Let's be super-careful here and avoid CGType.
Oops.  Fix typo.
finish removing cas/casp, in order to fix this problem:
***
*** runtime error:
***    An array subscript was out of range.
***    file "..\src\misc\Scanner.m3", line 351
***

Stack trace:
   FP         PC      Procedure
---------  ---------  -------------------------------
 0x12f774   0x49c8e2  NoteReserved + 0x44 in ..\src\misc\Scanner.m3
 0x12f7ac   0x4cb247  Define + 0xf9 in ..\src\values\Procedure.m3
 0x12f7d4   0x517b7b  Initialize + 0xd5 in ..\src\builtinOps\Cas.m3
 0x12f7e8   0x4b0320  Initialize + 0x30 in ..\src\builtinOps\BuiltinOps.m3
 0x12f804   0x499341  Initialize + 0x9a in ..\src\misc\M3Front.m3
 0x12f834   0x498f81  ParseImports + 0x151 in ..\src\misc\M3Front.m3
 0x12f860   0x40a6eb  Pass0_CheckImports + 0xa4 in ..\src\Builder.m3
 0x12f8ac   0x409e87  RunM3 + 0x215 in ..\src\Builder.m3
 0x12f8e8   0x40862c  PushOneM3 + 0x10a in ..\src\Builder.m3
 0x12f918   0x4084f9  CompileM3 + 0x21d in ..\src\Builder.m3
.........  .........  ... more frames ...
make DEC decrement instead of increment
really, finish removing cas/casp
Rework so that ORD always returns the underlying type of its argument.  Thus
ORD(LONGINT) returns LONGINT.
Rework to allow arbitrary conversions (range checked of course)  to/from LONGINT/INTEGER.
Also fix example that uses ORD to match its actual definition.
Fix definitions of ORD and VAL to match current implementation.
Regenerate Postscript.