function getParent(attr) {
    var tail = attr.search(ATTR_TAIL_RE);
    if(tail > 0) return attr.substr(0, tail);
}
Manages logic around array container item creation / deletion / update
that nested property alone can't handle.

@param {Object} np
 nested property of update attribute string about trace or layout object
@param {*} newVal
 update value passed to restyle / relayout / update
@param {Object} undoit
 undo hash (N.B. undoit may be mutated here).