fixing unneeded usage of formatter if formatDisplayField are defined

If `formatDisplayField` are defined than it could returns the string which is incorrect for `formatter`. For example if one want group date by month one want to display in grouping row soththing like `Oct-2013` or `2013-10`, but the current implementation of `groupingRender` try to call date `formatter` with the value returned by `formatDisplayField` callback. So the date are displayed with `Nan` or `Undefined`. To fix the problem I suggest to call `formatter` only in case when `formatDisplayField` callback in not defined.
Showing only top level of grouping headers in case of usage groupCollapse:true option

The current implementation of `groupCollapse:true` option display *all* groping headers and hide only the data like one can see on the picture

<img src="http://i.stack.imgur.com/saNJr.png"/>

instead of showing only groping header of the top level group:

<img src="http://i.stack.imgur.com/Pxrfb.png"/>

[The answer](http://stackoverflow.com/a/19207377/315935) discuss the problem in details.
Display only the next grouping level or the data in case of expanding of groping header

The current implementation of `groupingToggle` shows **all** sub-groping headers and the data itself on clicking on the "+" icon in the groping header. Such behavior seems me not practical in case of usage deep multilevel groping.

The suggested changes the behavior so that only the headers of the next groping sub-level will be displayed in expanding of group. Only if no sub-group exist then the data will be displayed.
small improvements after usage of http://www.jslint.com/
Merge pull request #526 from OlegKi/master

Fixing usage of `formatDisplayField` and collapsing/expending behavior of multi-level groping