Implement Stacked and Clustered Bar Plots 

They descend newStylePlot, which implements the new dataset api.

TODO:
- [x] Make issue to track smarter stacking logic (account for out-of-order case)
- [x] verify jsdoc
- [x] make issue to track adding animations
- [x] make issue to track enabling horizontal mode
- [x] add more unit tests
- [x] make issue to change accessors on NewStylePlot so they get seriesKey
- [x] move the quicktests into standard quicktest format (.js)

Example usage:
```
data1 = [{name: "jon", y: 1, type: "q1"}, {name: "dan", y: 2, type: "q1"}, {name: "zoo", y: 1, type: "q1"}];
data2 = [{name: "jon", y: 2, type: "q2"}, {name: "dan", y: 4, type: "q2"}, {name: "zoo", y: 2, type: "q2"}];
data3 = [{name: "jon", y: 4, type: "q3"}, {name: "dan", y: 15, type: "q3"}, {name: "zoo", y: 15, type: "q3"}];

xScale = new Plottable.Scale.Ordinal().domain(["jon", "dan", "zoo"]);
yScale = new Plottable.Scale.Linear();
var colorScale = new Plottable.Scale.Color("10").domain(["q1", "q2", "q3"]);

var xAxis = new Plottable.Axis.Category(xScale, "bottom");
var yAxis = new Plottable.Axis.Numeric(yScale, "left");
stackedBarRenderer = new Plottable.Plot.StackedBar(xScale, yScale)
  .addDataset("d1", data1)
  .addDataset("d2", data2)
  .addDataset("d3", data3)
  .project("x", "name", xScale)
  .project("y", "y", yScale)
  .project("fill", "type", colorScale)
```
I believe the solution we're aiming for in the future is putting this stuff in the metadata. The metadata will then become private, so users will be unable to set it. Additionally, by making the metadata private, we can put things like the series key in it, so we can project colors onto each individual dataset. 

As for a temporary solution, I'll see if that's feasible. It doesn't seem too difficult.