Begin cleanup of setXAxis()

Better caching, removed duplicate code. Fixed a bug where 'if(years >
15)' is supposed to be 'else if(years > 15)'.
Always center the x-axis labels on the data points

Previously, if a series was not graphed as a column, the labels were
too far right ("start" rather than "middle" alignment).
Finish cleanup of setXAxis()

Simplify text label logic to use the helper method for parsing
transform coordinates.