new option unloadNodeOnCollapse is implemented in TreeGrid
new option unloadNodeOnCollapse is implemented in TreeGrid

The new option can be either boolean or callback function, which return boolean. The callback function allows to unload *only specific* nodes. For example one can unload tree nodes, which level in higher as a specific value. For example, the following callback function
```JavaScript
unloadNodeOnCollapse: function (item) {
    if (parseInt(item.level, 10) > 0) {
        return true;
    }
}
```
informs free jqGrid to unload all nodes with exception top-level nodes.

Unloading of nodes can be helpful in different scenarios. For example, some nodes can contain frequently changable subelements. The next request to the server could returns another children. The new unloadNodeOnCollapse option allows to inform to reload the content of the subnodes on every exanding. Another important scenario: filling really large TreeGrid. The current implementation holds all loaded nodes in DOM. It can make working with the TreeGrid slowly. Sorting of the TreeGrid, for example, sorts all hidden (collapsed) nodes too. Removing seldom used nodes from DOM and loading there only on demand improves the performance of TreeGrid.

By the way, removing sending of `nd` parameter to the server by usage the option `prmNames: { nd: null }` makes possible to cache responses from the server in web browser. If the responses have HTTP header with `Cache-Control: max-age=60`, for example, then the requests during 60 seconds will be cached in web browser and not send to the server.

javapark/jqgrid