Added zillions of graph option including but not limited to the following:
1. added dashed line thresholds
2. added formulas for plotting expressions based on multiple columns ($A/$B) or just /60
   to plot the data divided by 60.
3. added alias to change name from metric w/tags.  This includes features like NewName,TAG=XYZ
   which will label everything with NewName(ValOfXYX) only
4. when label are in the center of the box, allow 3 columns. The # 3 was obtained via
   trouser removal and needs to be calulated in a better fashion but it helps if there
   names are reasonable size to fit in 3 columns.
5. Put all the data in 1 output file and interpolate when necessary. Each plot is then
   from a column (or set of columns when there is a plot formula/expression) as opposed
   to a file.
6. allos lines, linespoint, points or filledcurve graph types. Force
   from lines to linespoints if there are too many lines
7. change to create 11 lined and 15 point types. The numbers are relatively prime so
   that there will be no repitions until there are 165 lines.
8. Allow for flip colors (Wht/Blk or Blk/Wht)
9. Allow for no display if this data stream is only to be combined with another. For
   instance  plot (df.used/df.total) to get percentage.  df.used would be no display and
   df.total would have a plot expression(formula) of ($A/$B) assuming only 1 plot on the graph
10. change x-value labels to be at slight angle so that the point of intersection can be
   more easily discerned.  Also change format of date (on x-axis labels) to be f(how long ago)
   as well as f(timespan)
11.other stuff like fonts etc.  Look at new UI and this has to do all the plot options
   exposed there. :)
Signed-off-by: Brent Evans <bevans@turn.com>
Added changes for normalizing downsample, moving average and restoring
  dedup'd points when calculating aggregations on downsampling.  This helps
  with average when server points are dedup'd away.  Lot of other changes to
  support new UI.   Moving average is only available when downsample is selected.
  also detects when incoming points are normalized.
Signed-off-by: Brent Evans <bevans@turn.com>
Changed code to solve right and left edge problems when dedup'd points
are missing (now=endtime) .  This point adds a copy of the last point if is it
within the dedup time of the end so that interpolation works and graph
'droop' can be avoided.  This is bad only when tcollector (or other
deduping collector) is down.

Also several other changes to support new UI - see comments on Span.java

Signed-off-by: Brent Evans <bevans@turn.com>