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)
```
As of now, only clustered and stacked bar plots descend from these NewStylePlots. NewStylePlot and NewStyleBarPlot are both abstract, so we won't have to worry about people using these classes for now. We'll rename later, which will be part of a much bigger refactor. We'll slowly phase these in and phase the old Plots out, similar to how we phased the Numeric/Category Axis in and X/YAxis out.