Editorial: make record objects non exotic (alternative)
This is an alternative PR to #357. They both change the spec so that the object returned by ToObject(recordPrimitive) is ordinary.
The difference in this PR is the object retains the additional [[RecordData]] slot, so that ToPrimitive and Object.prototype.toString can detect this branding and have bespoke behavior. This PR also retains the Record.recordValue API as a way to infallibly check for the presence of this slot. This makes this change editorial, we keep all the same observable outcomes of the current spec, but reduce the amount of spectext required to express it. This should also make it clearer that interacting with records via their object-methods is exactly the same as working with Object.freeze({__proto__: null}) objects.