Fix DStr move constructor

Previously dstr_move would try to free the uninitialized value in
DStr::str::array
Add DStr move assignment operator