Don't modify geturl() argument; fixes timestamps.

As is, geturl() modifies its "options" argument to include a random timestamp. Since it does so only if "options" does not already include a timestamp, however, it ends up generating this timestamp only once. Subsequent calls to, e.g., update(), then yield URLs with the same timestamp.

This patch fixes this problem by making a copy of the "options" argument in geturl(), before modifying it.