Address Keno's easy comments, and try out some fancy solutions for the harder ones

When reading in an `lc_str`, to hopefully appease both of us, detect when an offset is clearly invalid and refuse to read memory in that case. (I even tested it with a hex editor; fun times).  Always embed the offset as its own data member in the rare case that we actually do want it for something