Stats: Added verbose option to segments api, with full ram tree as first additional element per segment

This commit adds a verbose flag to the _segments api.  Currently the
only additional information returned when set to true is the full
ram tree from lucene for each segment.

Note: I added the ramTree as a public member on the `Segment` class.  This class has a mix of struct like members and some that have getters.  It really should be cleaned up, but here I tried to follow what seemed like the most common pattern there.
do we need the Iterator/do-while? should this just be:

    for (Accountable child : segment.ramTree.getChildResources()) {
      toXContent(builder, child);
    }

this would be better than the current assert + do-while code shape. I don't see what the current assert guards against either.