Bugfix: cal_date would modify `jd` array argument

Doing `jd += 0.5` is safe if `jd` is a Python float, but not if `jd`
is a whole NumPy array full of floats.  Whoops.