GUILANG GRAMMAR: added terminal, nonterminal sets

also improved set
* added cmp callback for comparisons
* improved print, has, add