Add an OpenTSDB datasource.

This adds support for querying OpenTSDB for metric data.
Modified metricKeys to handle multiple graphite sources.

This wasn't all too hard to change, I mostly changed the
single http get to multiple http gets, one for each data
source of type graphite.

It's still not a good idea to call this on the web
frontend, since the whole thing was working for about
20 - 30 minutes when I clicked it, so I'm not
committing my changes to settings.js or the view itself.
Extracted multi-graphite query function, fixed loadRecursive

The new function in metricKeys generalizes what my loadAll
from the previous commit did, it takes a request and a
callback. The request is executed on each graphite installation
and the callback is executed for each result. This makes
implementing loadAll and loadRecursive almost as simple as
it was.
InfluxDB Filters: added function to generate filter list.
InfluxDB Filters: added filter to queries.
Added nanosecond y-scale formatting
trying to get more unit tests working
Default to auto scaling for grid min setting

fixes #226
use the influxdb built in time precision
Quote timeseries names to be able to have special character such as @ in a seriename.
Quote timeseries names to be able to have special character such as @ in a seriename.
Merge pull request #382 from ktoso/nanos-formatting

Added nanosecond y-scale formatting
url decode metric names #327
small change to influxdb template to support older versions of influxdb
Merge branch 'master' of github.com:torkelo/grafana
Merge branch 'influxdb' of github.com:pmenglund/grafana into pmenglund-influxdb
Merge branch 'gridmin' of github.com:kamaradclimber/grafana into kamaradclimber-gridmin
Updated version to 1.5.4
updated changelog
Merge branch 'master' of github.com:Tetha/grafana