Adjacency list updates

Change to use indexes into a vector of EdgeLabels. This avoids dynamic allocation and deletion and simplifies the code a bit.

@kevinkreiser @dgearhart @gknisely