Support row-level control of selectable rows

This pull request:

Adds a ```multiselectField``` property which, when set, conditionally enables/disables selectability of that row based on the field's value.  Default is ```false``` (all rows are selectable).

Adds a ```showSelectAll``` property to toggle display the select all rows checkbox.  Default is ```true``` (show it).

Triggers the ```beforeSelectRow``` event, per row, during a select all click.

So, for example:

    multiselect: true,
    multiselectField: "active",
    showSelectAll: true

would give you a grid where only the rows with their "active" column value being truthy are selectable.  Clicking select all will only select those rows, or they can be individually selected.  The ```beforeSelectRow``` event will be fired for each of those rows.