Can edit if you have barcode

I had forgotten to implement editing using just the barcode.  This fixes that, as well as a related, lurking bug in the retrive() method of bdb.