Feature/range1d datetime

This will require a bit of discussion, especially around the Date property.

Closes https://github.com/ContinuumIO/bokeh/issues/635
Changing `Date.validate()` is unfortunate, because JSON deserialization won't work. However, my new JSON lib will solve this issue, but that's not ready yet.