RFC: stable object step
as discussed with @benjie grafast needs a stable `object` (and list?) step in order to correctly deduplicate steps that take more than one parameter in `ioEquivalence`.

The following options were discussed

1.

```
function stableObject(obj) {
  const $obj = object(obj);
  $obj.metaKey = `stableObject|${JSON.stringify(Object.keys(obj))}`;
  return $obj;
}
```

2.

`object(obj, true)` 
though 'better by default' was preferred

3.

Passing the steps without object / list wrapper to automatically upgrade to a stable version, eg

```
loadOne(
  {userId: $userId, organizationId: $organizationId},
  {
    organizationId: "organizationId",
    userId: "userId",
  },
  fn,
)

```