Previously we were blowing away highlights that were added by other
plugins via matchadd(). To prevent this we now track all the ids of the
highlights groups we add and remove them explicitly with matchdelete().
Normally if location item has "col" item, syntastic#HighlightErrors() handle it without callback
call for performance reason. But sometimes it's necessary to handle all items with callback
(like in new vala syntax checker), so third optional bool arg is added to the function.
If this argument exists and has true value, then callback function is called on *all*
location items, no matter is they have "col" element or not.