(Resubmit) Allow hover to work for non-uniformly spaced X values.

While graphing a data set with X values that were not uniformly spaced I found that I was unable to hover over some datapoints. The root of this issue is that d3.scale.linear()'s range() and domain() were taking the minimum and maximum values and then returning an index uniformly spaced between data points. Rather than passing the minimum and maximum values we can pass in discrete values for both the input and output. This allows us to hover over all data points regardless of spacing.

For example, if we graphed the following series, this issue would prohibit us from hovering over the 380 datapoint: [0,100,200,300,380,400]

I started to look at Rickshaw's test system, but I got stumped on this error "Error: Wrong document."

Note: I closed the original pull request because I messed up my local branching: https://github.com/shutterstock/rickshaw/pull/263