Indexing: force refresh when versionMap is using too much RAM

If the user sets a high refresh interval, the versionMap can use
unbounded RAM.  I fixed LiveVersionMap to track its RAM used, and
trigger refresh if it's > 25% of IW's RAM buffer.  (We could add
another setting for this but we have so many settings already?).

I also fixed deletes to prune every index.gc_deletes/4 msec, and I
only save a delete tombstone if index.gc_deletes > 0.

I think we could expose the RAM used by versionMap somewhere
(Marvel?  _cat?), but we can do that separately ... I put a TODO.

Closes #6378
yeah, if we want to do it - which I think we should, because o.w. there will always be doubt as to how much memory this really uses. it's one thing when we use it for internal "smartness" (in which I case I'd change the method name) and another when we expose it as the official memory usage report.

Maybe we should have one counter to track deletes in the tombstone, one count to track other operations in current and yet another counter to track deletes in current. Then:

Total memory usage  = tombstone deletes + current other
Total memory for refresh = current deletes + current other (we can potentially ignore current delete here and not have the extra counter imho)