Allow string fields to store token counts

To use this one you send a string to a field of type 'token_count'.  This
makes the most sense with a multi-field.
Remove bash specific calls

Make sure that every call in a shell script is supported by /bin/sh and not a bashism, like $()

Closes #4314
Wrong link to Token Filter
Fix broken test.
Add support for combining fields to the FVH

The Fast Vector Highlighter can combine matches on multiple fields to
highlight a single field using `matched_fields`.  This is most
intuitive for multifields that analyze the same string in different
ways.  Example:
{
    "query": {
        "query_string": {
            "query": "content.plain:running scissors",
            "fields": ["content"]
        }
    },
    "highlight": {
        "order": "score",
        "fields": {
            "content": {
                "matched_fields": ["content", "content.plain"],
                "type" : "fvh"
            }
        }
    }
}

Closes #3750
Added test logging