Fix #2530500

This pull request allows TimeAxis to render with calculated offsets for either edge like a CategoryAxis. Conversely, the CategoryAxis can now render without offsets. I created an attribute calculateEdgeOffset which defaults to true for CategoryAxis and false for all other axes. If set to true, the axis will calculate edge offsets. 

I plan to merge this next week sometime after the latest release.