Improve column->field map construction

Extract column map construction to a separate func and make it
recursively collect fields from embedded structs.