utils.datastructures: Use non-trivial names for internal attributes in Record
utils.datastructures: Use non-trivial names for internal attributes in Record

'fields', and 'default' are too trivial and have high probability of
conflicting with actual fields.  Use less trivial names for those
attributes.

Additionally, make it possible to iterate over a Record() to obtain a
sequence of (field, value) tuples.

edgedb/edgedb,edgedb/edgedb,edgedb/edgedb