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
I wonder if we should care here about the size of the tombstone. The name is chosen (I assume) to make this implement the future accountable interface in lucene, which will make it easy to report on memory usage on this class. In that case, we should include the tombstone memory signature as in a system with heavy deletes it may increase (gc delete is 1m by default). If we do add the tombstone size here, we should expose another method which only has the "current" size in order to do trigger refresh based on that.