Add support for copying individual graphs.
Merge pull request #130 from prometheus/copy-graphs

Copy individual graphs
Add filter functions for legend interpolation.
Merge pull request #107 from prometheus/format-legend-strings

Filter functions for legend string interpolation
Null fill any graph discontinuities.
Merge pull request #142 from prometheus/zero-fill

Null fill graph data discontinuities
Remove global variable and fix regex support
Merge pull request #145 from prometheus/interpolation-fix

Remove global variable from regex interpolation
Convert to and add selenium integration tests
Merge pull request #144 from prometheus/testify

Convert integration specs to selenium
New styling for dashboard#show
Merge pull request #148 from prometheus/hidden-legend

Dashboard UI Redesign
Fix Rickshaw memory leaks.

This fixes the majority of (if not all) Rickshaw memory leaks, which are
the ones we are most concerned with when a dashboard is displayed in
fullscreen TV mode and the graphs are continuously refreshing.

Details:

- This goes back to approach of always drawing the entire graph upon any
  change to it. This is saner, as we can always start out with a
  known-good, blank slate.

- To actually get to a blank slate, we need to attach the Rickshaw graph
  to an element one level deeper than before, which we can remove and
  recreate completely upon every redraw, so all attached event handlers
  are removed (mainly hover-detail).

- When loading a medium-sized dashboard and redrawing graphs 40x:
  - OLD: 31MB -> 130MB (99MB growth)
  - NEW: 31MB ->  33MB (2MB growth)

This fixes https://github.com/prometheus/promdash/issues/64
This fixes https://github.com/prometheus/promdash/issues/113
Merge pull request #156 from prometheus/fix-memory-leaks

Fix Rickshaw memory leaks.
Move menu bar title attributes from icons to buttons.

This makes it easier for users to get the title texts to appear. It also
corrects one of the title texts.
Display hover detail labels as table.
Merge pull request #158 from prometheus/labels-table

Display hover detail labels as table.
Add hostname and hostnamef filters

In most cases, the unqualifed hostname is enough to have a unique
identifier. The full hostnames usually repeat some common suffix/port.
This change adds the semantics of the unix "hostname" and "hostname -f"
commands.

Examples:

    url = "http://foo.bar.baz.example.org:5030/metrics"

    {{ url | hostnamef }} // foo.bar.baz.example.org:5030
    {{ url | hostname }}  // foo
Add generic data migrator

In order to be able to migrate the json configurations of dashboards,
this change adds a way to easily get access to the fields. The
implementaion makes it easy to extend the provided helpers in the future
to change other fields or tables as well.

Example usage:

    Migrator.run Migrator::Widget do |widget|
      widget['foo'] = widget['bar']['baz']
    end
Add migration to move global stacked setting

With the introduction of multi-axes support, the stacked option was
moved.