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