Time axis

A better time axis. This is not ready yet, and still has a few bugs, but I'm making this PR so it's easier to get feedback.

Here are some pictures:
![screen shot 2014-07-16 at 6 36 34 pm](https://cloud.githubusercontent.com/assets/4107323/3607870/d07da292-0d52-11e4-98ff-7418e039281c.png)
![screen shot 2014-07-16 at 6 34 28 pm](https://cloud.githubusercontent.com/assets/4107323/3607871/d1b1a870-0d52-11e4-9418-576a00c8efb9.png)
![screen shot 2014-07-16 at 6 35 31 pm](https://cloud.githubusercontent.com/assets/4107323/3607872/d56649da-0d52-11e4-8684-ca58526c81d8.png)
![screen shot 2014-07-16 at 6 36 07 pm](https://cloud.githubusercontent.com/assets/4107323/3607873/d70e4166-0d52-11e4-9ff0-e29e26864a47.png)

i find this whole funciton pretty hard to read, you could refactor it like:
```
minorIntervals = this._scale.tickInterval(Time.minor//....
majorIntervals = blablalba
minorIntervalsSet = d3.set(minor
majorIntervalsSet(d3.set(major
return Utils.Methods.union(set1, set2).map...
```
also why is making the stuff into sets necessary? i guess there are repeats between the tickvalues? we are not seperating tickvalues according to major/minor but returning them both in one function? i'm not understanding this, which suggests it should be refactored or commented to be a bit clearer