toMap

This PR adds a `toMap` method to records and unions, that convert the record/union to a map whose keys and values are typed with the lubs of the keys and values of the record/union.

I felt I was missing this one. WDYT?