allow cached() to take any keyword argument that timedelta understands