Charts - refactor series-base (fixes #2533079)

Trac2533079
Broke out the base functionality from CartesianSeries into SeriesBase allowing for more modular extensions for series implementations. Additional unit tests have been added as well. Attached is an image with diagrams outlining the changes. 

![refactor](https://f.cloud.github.com/assets/63965/126128/a1314380-6f39-11e2-9d41-b59f89219683.png)