First draft of perf graph url updates
Second update to graph url

This is part of a semi large effort to clean up how we store options in the url
for our graphs. This part adds support for having the suites in the url and
switched from having graphs represented with their  checkbox ids to having
graphs be represented by a normalized title. This makes it easy to have a URL
that is valid for a long period of time. Previously anytime the number of
graphs changed the URL would become outdated. This allows the URL for
individual graphs to be good until any graph title changes (happens
infrequently) and it makes it so we can have URL's for suites. The suites is
useful in hyperlinks that we want around long term such as a link in a blog.

This adds functionality to have the suite in the url and a bunch of helper
routines that were required as part of that and changes individual graphs to be
stored by title. It also adds a bunch of comments and does some cleanup.
Fix some typos
Merge pull request #838 from ronawho/graph-url-update

Update perf graph query string

[kyle verified that the graphs work as expected]

The short summary of this patch is that the query string in our graphs now
includes suite, date range, configuration, and the selected graphs.

The selected graphs now use the graph title instead of checkbox id to make the
URL valid for longer. Previously changing the order of graphs would invalidate
check boxes. This effort is just to make it easier to share graphs and specific
dates and configurations with others and have the URLs valid longer. It also
makes it easy to add other options to the query string in the future.

The query string of our graphs used to be used only for keeping track of which
graphs were currently displayed. We have wanted to update it to include things
like which configuration(s) are selected, which suite is selected, and the date
range.

This patch includes updates to allow setting arbitrary options and storing them
in the URL easy. It provides getter and setter options which get and set
options from the query string. These functions are then used to for getting and
setting the date range, selected graphs or suite, and configuration.

A bunch of helper functions were added to parse dates, and normalize strings to
be stored in a url and to be able to figure out what suite is currently
displayed.