new visualization: edge bundling

Courtesy of Betsy McPhail
Added interactive heatmap and scatterplot matrix.
Merge remote-tracking branch 'origin/edgebundling' into interactiveHeatMapAndScatterPlotMatrix

Conflicts:
	Gruntfile.js
	app/src/views/VisualizationManagementView.js
Added ability to select one or more scatterplots from the matrix and "drill-down" to a larger view.
Fixed bug in scatterplot matrix.  Filtering out non-numbers (i.e. strings) had a typo.
Fixed bug in edge bundling.

Previously, some links were drawn as positive correlations when they were really negative and vice versa.
Fixed bug in edge bundling.
Previously, if a column had more than one '1', its name could be incorrect.
All labels now fit in edgebundling plot.
Clean-up of edgebundling.
When this was copied over from the OSEHRA project lots of references to "package hierarchy" were remained.  Also, unused code was removed.
Interactive HeatMap: Changed reset controls from a drop-down box to push buttons.
Iteractive Heatmap cells re-size based on number of cells.
This way, there's a better chance everything fits on the screen at once.
Interactive Heatmap: Display NaN as white cells instead of black.
Updates to ScatterPlot Matrix.
'Nan' entries are now ignored.  There was code for this previously, but it didn't work correctly.
Hovering over points (after axes are displayed) will show point value.
Can now select points in the Scatter Plot Matrix.

The point from the same row (e.g. patient) is highlighted in red in all plots.
Scatterplot matrix now correctly clears empty plots.
Improved slider on Edge Bundling page.
Interactive Heatmap: Added option to display column headers as strings.

Previously, the column number was displayed.

For now, assumes if the first column header is empty, then that column contains labels.
Interactive HeatMap scaling incorrect with large (>250) columns.
Looks better now, but there is probably a better solution.
Sometimes, the number of points in a zoomed-in scatter plot was incorrect.

When plots were moved to a new location, data was being removed correctly but new points weren't being added.

So, for example, if the 4th plot originally had 20 points, it would always only plot up to 20 points.
ScatterPloMatrix: Don't highlight points on small plots.