Make `_source` parsing in `top_hits` aggregation and search api consistent

Since it can work on values and objects, maybe we should just have an: `else if "_source".equals(currentFieldName)` condition right before `else if (token.isValues())` ?