support string value for cellattr

allow to define `cellattr` function as property of `$.jgrid.cellattr`. The name of the property can be used as the value of `cellattr`. In the way one can "register" common `cellattr` functions and use there like "predefined" formatters.
support string value for rowattr

allow to define `rowattr` function as property of `$.jgrid.rowattr`. The name of the property can be used as the value of `rowattr`. In the way one can "register" common `rowattr` functions and use there like "predefined" formatters.
call onCellSelect and editCell independent on beforeSelectRow

The changes are described [here](http://www.trirand.com/blog/?page_id=393/bugs/calling-callback-after-jquery-event-which-return-a-value#p31346). The changes makes the results returned from `beforeSelectRow` and `jqGridBeforeSelectRow` be influence *only on selection* of the row. `onCellSelect` and `jqGridCellSelect` and `editCell` (the last only in case of usage `cellEdit: true`) be called always.
Update grid.base.js

Improving performance by
 1) removing setting of `ts.grid.bDiv.scrollTop = 0;` which take many time in case or many rows inserted, but it will be called **always** after adding rows in *empty* grid, so `scrollTop` is already 0.
 2) `.append(rowData.join(''))` make many common validations and take many time in case of many rows inserted. The method `.append` works **not only with string values** so such implementation is OK. We have **pure string value** which need be appended to the `<tbody>`, so we can improve the performance by usage `+=` on `innerHTML` of the `<tbody>`. REMARK: the suggested line will be applied on almost **empty grid**. The grid contains only the first line with `tr.jqgfirstrow`. So no memory leaks are expected.

More information about the changes are described [here](http://www.trirand.com/blog/?page_id=393/bugs/improving-performance-of-addjsondata)
Fix this.grid.cols

Update DOM element of the first row cached in `this.grid.cols` after replacing it with the same text content.
Generate jquery.jqGrid.map.js

Update to closure-compiler:v20141023 allows to use `sourceMapOutputFile` and `sourceMapFormat` options.
fix typing error

Replace undefined `sr` to `rowid`.
add target.map

target.map = jquery.jqGrid.min.map
add --create_source_map

add `--create_source_map ${distdir}/jquery.jqGrid.min.map` option of closure compiler
Fix calling of jqGridCellSelect or editCell with iCol=-1

In case of selection multiple cells of the same row with respect of mouse the click event will be fired with DOM of `<tr>` as the e.target. Suggested fix solves the problem. For more details see [the post](http://www.trirand.com/blog/?page_id=393/bugs/oncellselect-and-editcell-can-be-called-with-ci-1).
Merge pull request #654 from OlegKi/master

pending changes in grid.base.js
Update to the latest version of closure-compiler

New version v20141120 of closure-compiler are published after my last pull request (see [here](http://mvnrepository.com/artifact/com.google.javascript/closure-compiler/v20141120)). I think that it's better to use the latest version of the closure compiler for the next release of jqGrid.
Merge pull request #659 from OlegKi/master

Update to the latest version of closure-compiler
Publishing jqGrid 4.7
Merge branch 'master' of git@github.com:tonytomov/jqGrid.git
Optimization check
Fix setting the grid rowid in add mode
Do not add cornet-top in header when toppager is enabled
Setting up only one license information. Only the base module will hold this information. For more details look here: http://guriddo.net/?p=1
Publishing 4.7.1