Handle functions in @cached_as() and @cached() args
Handle functions in @cached_as() and @cached() args

Previously this used stringification, which uses function address, a
value varying across runs and processes. Now it's funcs module, name and
line.

This will, however, understand two instances of same function as same
thing while they can have different closures. This way the change may be
called backwards incompatible, but I consider old behavior undefined.

Suor/django-cacheops,LPgenerator/django-cacheops