add CSVRow.map - a better way to implement BC columns
fix truthy and falsy values not being converted to booleans
change weighting_or_order to weighting_order, as that seems to be less unexpected