Support zero-length data items in LSM

I'm putting this one into the system, but it's not ready to merge.

It's a hack, but it mostly works.  I think there's something I don't understand about how LSM cursors get used -- I think LSM cursors are being called from somewhere outside of the application level, but I'm not seeing where.

Reference #540.