Dylan/charts bugs

This includes @bigsley's refactoring work, my fixes to that, a centering option for bar charts so they can be rendered with end or start of period data as well as middle of period data, and a fix for rounding errors on labels.

@azirbel @bigsley 
One line here is 84 characters long, which is 4 over our code-style's limit. If you think this line is clearer on one line I can make it one line regardless. I think when I refactor this to be a part of `barLeftOffset`'s variable sizing it will change how I have to write this line anyways, since I cannot just assume `2` here.

(Also if not, I can indent line 159, which I should have done in the first place)