BUG: non-unique column index was failing in construction if from an ndarray

ENH: non-unique assignment now works

TST: more tests

BUG: handle multi-level columns correctly (original method)

CLN/BUG: raise exception if block ref_locs are not set when _set_ref_locs