Simplify tracking of old LSM chunks and fix a bad array size calculation.

The bug happened if an LSM tree was closed with old chunks that had not yet been removed (that is, in between a merge completing and a successful call to `__lsm_free_chunks`).  In that case, when reading the LSM metadata, a bad size calculation left the `old_avail` field invalid.  Get rid of that field and simplify everything by shuffling entries down in the array as they are freed.

closes #687