Improved widget settings, and ability to provide custom widget settings

Fixes #60, #12, #11.

**API Changes:**
- scope method `openWidgetDialog` renamed to `openWidgetSettings`
- removed `editModalOptions` from widget options
- added `settingsModalOptions`, `onSettingsClose`, and `onSettingsDismiss` options to dashboard options and widget definition objects

This is the first cut at improving the state of affairs surrounding widget settings dialog. The best way to see the changes is to take a look at the [demo code](https://github.com/DataTorrent/malhar-angular-dashboard/blob/widgetSettings/demo/demo.js#L124-260).

Take a look at the [updated README](https://github.com/DataTorrent/malhar-angular-dashboard/blob/widgetSettings/README.md#custom-widget-settings) for an in-depth description of how to override widget settings.