Factor out axis strategies

Uses separate strategies for different axis types.
Pulls out the domain, findMin, findMax, and findOrdinal methods into the
new strategy.
Introduce basic tickFrequency calculation

Adds the tickFrequency method to the Axis, and hooks it in to tickValues
for linear scales.

For now, date and category scales use the same tick values they
previously used.
Introduce tickValues to axis

also allows axis tickFrequency to be set by the user
Increase/Decrease ticks by step

Implements the increase/decreaseTickStep method, to generate the next or
previous tick from the current one, with different implementations for
ordinal, linear and date axes.
Implement Auto-frequency for dates

Adds the initial, increase and decrease methods for tick frequency.
We have a preset list of frequencies for dates, from 1s to 100yr.
Introduce initialTickValue to axis

For this to work for a date axis, a date round function has been
introduced.
Update axis draw to use auto-tick values
Using one tooltip per chart rather than per series
Updated comment after adding initializeTooltip to Chart.
Typo: offest => offset
Updated comment: Series => chart.
Allowing series to have different tooltip offsets

The tooltip offset needed to be set on mouseover rather than when the
series is drawn. This means that the positionTooltip function is not
needed.
Removed tests for Series.initializeTooltip
Update axis calculation for interactive axes
Merge pull request #193 from tpkelly/develop

Update License year/name
Update auto-tick calculation to prevent ticks from overlapping

The tickValues function no longer depends upon the axis for its
tickFrequency value.  Add test to handle rounding small numbers.
Organise tests for axis
Merge remote-tracking branch 'scottlogic/develop' into feature/tick-frequency
Update changelog
Merge pull request #191 from niksoper/single-tooltip

Using one tooltip per chart rather than per series