ptg: use SmallSetVector for node's edges

it's faster
ptg: add Node::getCategory

allow to quickly find out, what is the category of pointers in a node
ptg: use normal array for edges

Since having lot of edges is not efficent, constrain it to NODE_EDGES_NUM number
(currently 8). This allows us to use normal array which is faster that using iterators and mapping from nodes to this array (index in array is node's category)