Schedule function updates

Note to self and @ehebert: this is WAY faster than normalizing with pandas and comparing.
```
In [6]: %%timeit
   ...: x.date() == y.date()
   ...: 
The slowest run took 8.96 times longer than the fastest. This could mean that an intermediate result is being cached 
1000000 loops, best of 3: 426 ns per loop

In [7]: %%timeit
pd.tseries.tools.normalize_date(x) == pd.tseries.tools.normalize_date(y)
   ...: 
The slowest run took 6.66 times longer than the fastest. This could mean that an intermediate result is being cached 
100000 loops, best of 3: 4.83 µs per loop
```