Change `resource-columns`, et al, into maps that include the table names

In my previous commit I had changed one of the SELECT statements
to include a hard-coded list of fields (w/table names) rather than
letting it refer to the `resource-columns` set that it had been
using.  We decided that this introduced a risk of those getting
out of sync with one another, and that it would be better to
change `resource-columns` into a map that contained the table names
for each field.  This commit does that, and then modifies the other
places in the code that were using the `columns` sets to work with
the new maps.