Feature/range1d datetime

This will require a bit of discussion, especially around the Date property.

Closes https://github.com/ContinuumIO/bokeh/issues/635
This might be a wrong forum indeed, but I have to disagree with this. Arguing that two kinds of dots (given a well defined language grammar) could be confusing, then one could argue that parenthesis can be confusing as well, e.g. `f(x, y)` and `def f(x, y)`. Or even better, `:`, which I think is overused in Python. But, if one knows the language he uses, then this is not an issue. Of course bad language design can make understanding difficult or usage error prone, e.g. `>>` in C++'s templates.  

For example, in Scala it wasn't an issue to make the language, at last in this context, uniform:
```scala
scala> 1.toDouble
res0: Double = 1.0

scala> 2.0.toInt
res1: Int = 2

scala> 2.0e3
res2: Double = 2000.0

scala> 2.0e3.toInt
res3: Int = 2000
```
Reading `2.0e3.toInt` left to right doesn't seem to me a problem (knowing the production for floating point literals and method invocation). If you can invoke methods directly on string literals, it should be possible on other kinds of literals as well. I presume that most languages don't allow this, but it doesn't mean we shouldn't fix this. To make this matter more interesting, there's a language (Aldor) that was specifically designed for mathematics (for Axiom) and uses dot for indexing arrays, e.g. `arr.1` instead of `arr[1]`, thought it's not object oriented, so dot isn't used there for method invocation.

Personally I don't use `2.` syntax at all, viewing it as incomplete. Perhaps it's useful for people writing numerical code all day long, but Python is a general purpose programming language after all. More over, it's a object oriented programming language (thought not a pure one), so uniform object syntax should take precedence in my opinion. 

> most programmers that are likely to encounter your code come from languages where methods are not valid on integer and floating-point literals.

If a programmer comes to a new language then he should get a training in this language. Image a Cessna pilot being allowed to pilot 747 without further training. I know this happens, unfortunately, a lot in programming world, i.e. "You know JavaScript, then C++ shouldn't be an issue. After all, both use curly brackets".