Add support for a dashboard-level datasource setting

This adds an optional "Datasource" setting at the Dashboard level that overrides the individual graph-level settings. We have found this to be very helpful for re-using the same dashboard across multiple data sources.

### Usage
1. Enable in dashboard settings.

![dashboard](https://cloud.githubusercontent.com/assets/133030/2934492/6fa01e1a-d7d2-11e3-8758-4685814cd73c.png)
2. Select the Datasource at the top of the page. This updates the datasource settings on all the graphs in the dashboard.

![image](https://cloud.githubusercontent.com/assets/133030/2934504/fb4ce628-d7d2-11e3-82e3-0efba6e91dee.png)
3. This works together with the filters. For example, the possible values for a filter are updated whenever you switch the data source.