Optional custom row/control settings

This pull request is a new feature for the Grid that allows it to be extended, adding custom settings for rows and controls.

How it works:
First, the user has to enable the option "Optional Settings" in the grid prevalues and then he has to define into the file grid.settings.config.js the paths of the views and controllers to be used as settings:

```
[{
    "rowSetting":{
        "view": "/scripts/gridRowSetting.html",
        "controller": "gridRowSettingController"
    },
    "controlSetting": {
        "view": "/scripts/gridControlSetting.html",
        "controller": "gridControlSettingController"
    },
    "assets": ["/css/gridSettingStyle.css"],
    "dependencies": ["/scripts/gridSettingController.js"]
}]
```

A new setting button will appear under the row/control move button. This button opens the Umbraco right panel with the setting view defined before. The values returned by this setting will be included into the row data (the setting object).

![1](https://cloud.githubusercontent.com/assets/1587387/4886218/827f6642-637a-11e4-9863-56af19d7f6ed.png)

![2](https://cloud.githubusercontent.com/assets/1587387/4886241/b4c6caaa-637a-11e4-90d4-e51005ca0c8d.png)

Comment: Maybe, it will be cleaner to put together all the grid config into a unique file: grid.settings.config.js and grid.editor.config.js