Add highlight_full() function

It tags output text. It can specify several options and multiple keywords.

    highlight_full(column, normalizer_name, html_escape_flag,
                   keyword1, open_tag1, end_tag1 ... [keywordN, open_tagN, end_tagN])

TODO: Document it.
Add grn_expr_get_keywords()

It gets keywords from expression.

TODO: Document it.
Add highlight_html() function

It tags output text after it html_escape and normalize text. It can use easily without option.

    highlight_html(column)

TODO: Document it.
test highlight_full: remove a needless error message
Merge pull request #185 from naoa/add-highlight_html-function

Add highlight_full() function and highlight_html() function

Patch by Naoya Murakami. Thanks!!!
Hide grn_expr_get_keywords()

It is not stable API.
Close related functions
Remove needless "got_" prefix

It is keyword set. So "keyword" is enough.
Reduce copy & paste code

Use grn_expr_get_keywords() in grn_expr_snip_add_conditions().
Fix style
Reduce scope
Use more meaningful variable name
Use meaningful name

        html_escape_flag ->
    use_html_escape
    ++++           -----

Normally, "_flag" is bad name for boolean value.
Fix a memory leak
test: fix wrong test code

It doesn't test nothing. We need to match the test data.
test: use true/false for boolean value
test: use meaningful test file name
test: move invalid case tests to invalid/ directory
Extract common code
benchmark: add for query optimizer