I think it's pretty simple: when you create a card, you establish a canonical name.  Before then, no canonical name should be established.  So, in general, whoever saves first establishes the canonical name.  If someone updates it later, fine -- we have renaming mechanisms established -- but there is only one create event.

But saving isn't really relevant here.  I was seeing cases where I would go in the browser to "mycard" once, and then later to "Mycard", and it would strangely canonicalized it back to "mycard", even though it didn't exist.  This was especially weird before I fixed the underscore issue.

This part of the commit is to get rid of canonicalizing before saving.  

(perhaps I should change the test to read "handles name variants of cached missing cards without canonicalizing"