Make perf graph keys cleaner

Strip '=', '-', ' ', and ':' from the right side of graphkeys. We get a lot of
these when perfkeys are used as the graphkeys. It makes the series look strange
in dygraphs. This just strips the characters in gengraphs.

I used to do this for multi-conf because text was added to the end and those
trailing characters made it look really odd. That no longer needs to be done.
Merge pull request #1000 from ronawho/perfgraph-cleanup

Make perf graph keys cleaner

Strip '=', '-', ' ', and ':' from the right side of graphkeys. We get a lot of
these when perfkeys are used as the graphkeys. It makes the series look strange
in dygraphs. This just strips the characters in gengraphs.

I used to do this for multi-conf because text was added to the end and those
trailing characters made it look really odd. That no longer needs to be done.
Use json instead of csv for dygraphs

Instead of gengraphs generating a csv we now generate json. jquery is used to
load and parse the json which is passed to dygraphs as a native array.

This adds a function to gengraphs to convert the csv to json and add labels to
the graphinfo (since labels must be explicitly set when using dygraphs native
array format.)

Instead of taking a csv, dygraphs now takes the native array. Jquery is used to
parse the json, and then we date-ify the data since json doesn't have a way to
specify dates.

This is being done so that graph expansion can be simplified, sped up, and made
to work with multiple configurations (so compiler perf graphs can use
multi-conf.) It should also slightly speed up loading normal graphs since
dygraphs no longer has to parse a csv.

This is a stepping stone towards simplifying compiler performance, beefing up
multiple configuration support (to be used with compiler performance, --local
vs --no-local and the various comm layers for multi-locale performance.) It
will also allow graph expansion to be simplified and sped up so that we can add
an expand button to any graph
Update using json

Move where we load the json and add some code to report errors in loading.

Update graph expansion. Instead of creating a duplicate graph and hiding all
the series we're not interested in, we now only grab the data for the series we
care about. This makes graph expansion much faster and will be required for
allowing graph expansion to work with multiple configurations.
Put dygraph labels in json file

Previously I was putting the lables in graphdata.js. Now it goes in the same
json file as the data does. This is so you can look at the labels and data in
the same file, and so that the website doesn't have to load as much for graphs
it doesn't display