function getIENodeHash(node) {
    var uniqueID;
    switch (node.nodeType) {
      case 1: // Element
        uniqueID = node.uniqueID;
        break;
      case 9: // Document
        uniqueID = node.documentElement.uniqueID;
        break;
      default:
        return null;
    }

    if (uniqueID) {
      return  OLD_IE_HASH_PREFIX + uniqueID;
    } else {
      return null;
    }
  }
IE has a `uniqueID` set on every DOM node. So we construct the hash from
this uniqueID to avoid memory leaks and the IE cloneNode bug where it
clones properties in addition to the attributes.

@param {object} node
@return {?string}