Support selectDynamic access to records

Adds a `dynamic` method to `RecordOps` that returns a wrapped version of
the record that provides `selectDynamic` access to fields whose keys are
strings.
Support selectDynamic access to unions
Merge remote-tracking branch 'github/pr/95'