Update row directive to call optional function for customization

During `smartTableDataRow` linking, if `rowFunction` exists on the configuration, call it with the `link` arguments to achieve additional customization over row behavior and state.

Addresses #32.

Example:

**template.html**
```html
<smart-table config="myConfig" columns="columns" rows="rows"></smart-table>
```

**controller.js**
```javascript
scope.myConfig = {
    rowFunction: function (scope, element) {
        if (scope.$last || scope.dataRow.points > 10) {
            element.addClass('highlight');
        }
    }
}
```