add support for old LispWorks struct format

I only use cl-store to stream objects, but those using it for storage on LispWorks would have their stored structs broken with the recent change.

Unfortunately supporting both formats can't be done in a modular way since an object must be partially read in order for the format to be detected, hence this patch is larger than would normally be expected.