editThingInternal() needs to stop using raw OIDs
Summary: In particular, the "model" parameter is a raw OID; it should have always been a ThingId. Fixing this is going to be a PITA, since we have screwed it up in so many places, but it needs to happen -- at the moment, it is causing all sorts of bugs.
Test heavily after doing this -- it's going to cause a zillion knock-on bugs, no doubt, since we use editThingInternal heavily.
In the create-client branch, I have begun the fix to this: editInternal() now copes with either a ThingId or an OID. It tries the OID first; if that fails to parse, it tries a ThingId.
So the next steps are first to introduce a Warning whenever it successfully parses as an OID, then pay attention to that and gradually remove the instances, then eventually remove it entirely.
This might possibly become a non-issue, if the new client drives us to deprecate this function entirely in the near future, which is quite likely.