Support for Librato Metrics.

Refactored most of the JavaScript for this, as Librato
doesn't support fetching multiple metrics in one requests.
Most data structures were moved from multi-dimensional arrays
to hashes indexed by the metric's target.
Support Librato's display transforms.

Also remove initialization or URL on load.
Restore old metric width.

Don't round down metrics > 2. Temporary fix as this makes
2.97 be rounded down to 2.
Support for fetching specific time ranges.

Resuming live feed works as well.
Index metrics by name and source.

Allows having the same metric with different source
multiple times.
Don't barf on empty measurements.

Also avoid scoping issues with the metric's name by explicitly
handing it over to the callback.
Colons are not valid selector characters.
Make sure empty transforms don't break things.
Extract Librato Metrics code.

Basis for supporting multiple transports.
Wrap refresh into a function.
Extract Tasseo object.

Includes the common code that should be the same with every transport.
Don't need to check for false metrics anymore.
Set up Librato credentials.
Preliminary merge of Librato changes.
Bring back first stash of upstream changes.
Extract LibratoMetrics object.
Extract common functionality into a Tasseo object.
Fix live updating.
Extract a Graphite backend.

This extracts some more common things into the Tasseo module,
makes configuration dependent on the environment variables and cleans
up a few things to rectify differences between fetching metrics from
Graphite and Librato.
Merge branch 'obfuscurity-master' into merge-upstream-librato

Conflicts:
	lib/tasseo/views/index.haml
	public/j/tasseo.js