DateRange.union speed shortcuts don't work in some cases
Not good:

``` python
In [15]: rng = DateRange('1/1/2000', periods=100000, offset=datetools.Minute())

In [16]: timeit rng.union(rng[:-1])
10 loops, best of 3: 93.9 ms per loop

In [17]: timeit rng.intersection(rng[:-1])
100 loops, best of 3: 12.2 ms per loop
```
