Add ability to pass error string back to datagrid

This adds the ability for the data source for a `datagrid` to signal that an error occurred fetching the data and provide an error message to display to the user.

As error is signaled by passing a string as the first argument to the `callback` function instead of an object. The passed string is the HTML to add to the table for the error message.

This is a simple example of a data source doing an AJAX request and passing back a generic error message:

```javascript
MyDataSource.prototype.data = function data(options, callback) {
  // options ignored for this example
  $.getJSON('/some/data/endpoint')
    .done(function onData(data) { callback({'data': data}); })
    .fail(function onError() { callback('An error occurred fetching the data'); });
};
```