using map for range-based set_initial_value & set_dirichlet_boundary

switched from vectors to maps to support sparse indices.
as we want to set the values for each segment, we have a sparse
cell index data layout.