Use `__get__` method of function for more robust curry on class methods.

The behavior of the descriptor protocol is different between
Python 2 and 3, and the easiest way to be compatible with both
is to call `__get__` on a locally-defined function.

Tests were also added to check `@memoize` when used on class methods.
`toolz` actually didn't need this, since everything works out of the
box, because `memoize` returns a regular Python function.  However,
these tests are required for `cytoolz`.