Assorted updates

@nealstewart 
This has some danger, wherein the execution time of `base` could be less than a `JSON.stringify` on its arguments.

`lodash` has a good interface on this, where you can go:

```js

function transform(objA, objB) {
  return {
    id: objA.id,
    a: objA,
    b: objB
  };
}

var dumbFn = _.memoize(transform);
var smartFn = _.memoize(transform, function(a, b) { return a.id + '|' + b.id });
```