add a method to Hash
Map nil to :no_value_given in CsvReader
Level 3: track empty data differently from missing data