[RFC] Remove 2-iteration loop in syn_combine_list() (rebase)

Rebased #692, reviewed it carefully again, improved the comments, and tested it as I described in https://github.com/neovim/neovim/pull/692#issuecomment-48123606

Preserved @harsh1kumar commit.
Can we use `zero` instead of `NUL` for all param descriptions of `g1` and `g2`?