Change record types to be immutable.
The primary reason for this is to make the predicates slightly faster,
eliminating the need to look up the type markers in the predicates.
Additionally, make-record-type now accepts these additional options using a
keyword list. The define-record-type macro has not been updated to support
these new options, but that will come soon. Consequently the files using these
options have been modified to use make-record-type directly.
Finally, a small tweak was needed so that multiple values are available earlier
in the cold load.