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.
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.
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
Moved dashboard keybinding setup to own service.

The goal is to split up the situation between the dashboard
controller and the current dashboard service. I want to be
able to use the routing in order to select various dashboard
controllers, so I can extend the current scripting
mechanism by implementing new dashboard controllers.

However, to do this in a non-insane way, I need to move as
much functionality as possible into services, so the individual
controllers just need to throw the right set of services
together and add a bit of loading logic.
Added vim swp files to gitignore