Fix purge while balancing, load leaf page length.

Fixed an endless loop in the `purge` method of the `Strata` object
closing #62.

Resetting the length property of the leaf page object to zero before
reading a leaf page. If the leaf page is being used by the balancer, its
data can be purged, but it's meta data is retained. Therefore, load leaf
page can be called to reload the positions array with the length already
set to the correct value, causing the load to double the length recorded
in the leaf page.

Ugh. I sense a race condition. The `readLeaf` performs asynchronous file
system reads, so a balancer could take over and calculate a balance
based on incorrect sizes; the length may be zero because it has been
reset and has not yet been reloaded.

Actually, why do we need to use the most-recently used list as storage
for meta data? Can't we just put that in the linked list used by the
balancer to choose splits and merge pairs?

Closes #47.
Merge branch `purge-balancer` into `master`.