Feature/range1d datetime (WIP)

This will require a bit of discussion, especially around the Date property.

Closes https://github.com/ContinuumIO/bokeh/issues/635
But anyway, this method leaks internal implementation of `Date` property. At the very least this should simply read `any(Date.contains(value) for value in props)`, with appropriate implementation of `Property.contains()` and it's specific cases (which would most likely boil down to calling `is_valid()`).