Memoization key for unary function (single arg input only) is the arg.

In other words, for a function `f(x)`, the key would be `x`, not `(x,)`,
thus saving memory and providing a more intuitive cache.  The function,
of course, must be able to be interpreted by `inspect.getargspec`, or
else the default key `(args, frozenset(kwargs.items()))` is used.
oops pep8
Simplify "is_unary" check in `memoize` and check for "is_unary" first in `memof`.
Simplify `may_have_kwargs =` and `is_unary =` expressions in `memoize`.
Merge pull request #144 from eriknw/memoize_unary

Memoize unary
Clean up: remove unused variables (identified by pychecker and pyflakes)
Merge pull request #145 from eriknw/unused_variables

Clean up: remove unused variables (identified by pychecker and pyflakes)
curry `memoize` by default.

This allows a cache to be provided when using `memoize` as a decorator.
Clean the `toolz.curried` namespace.
Remove complicated explanation in "examples/fib.py"
Remove `isinstance(curry, f)` check in curried; need to make `curry` idempotent
Fix `curried` doctests.  They weren't run before.

Also make the variables and functions used to set up `curried` namespace
private by adding '_' prefix.
Merge pull request #148 from eriknw/clean_curried_namespace

Clean curried namespace
Merge pull request #146 from eriknw/curry_memoize

curry `memoize` by default.