Fix usage of hash function in `_.memoize`.

There is a bug in `_.memoize` where the object which is returned from the cache is always looked up using the first argument, ignoring the custom hash function if one was supplied. The fix is to use the computed `address` as the lookup key. Amazingly, the unit tests did not cover this.

I was a little confused when all I wanted to do was use the second argument of the function as the key and kept getting a return value of `undefined`.

Confirmed the regression and fix with the added unit tests.
Yes. The additional change was an attempt to avoid an extra key lookup on a cache miss. I see the return statement failed the Travis build. Probably best to keep it simple.