Create an event for when column definitions change.

This pull request adds a new `onColumnsSet` event to allow responding to changes in the column definitions. The event is fired from `setColumns` if the grid has actually been initialized.

This is useful if, for instance, the ColumnPicker plugin is being used, and you want to store the currently active column definitions so they can be re-applied on subsequent page loads. I could not find a better way to do this -- `getColumns` alone doesn't answer the question of "whenever the column definitions have changed" -- but I may have missed something.

Let me know if you'd consider this or have questions about the implementation thus far, I think this is generally useful.