Calculate hash in `__hash__` for curry, not in `__init__`.

Also, don't return `self` from `__call__`; return a new `curry` object instead.