Fix Materializer iterator

@pbnjay called it -- I'm already using a slice for a Token (in LevelDB). A little interface checking much like we do in graph.Next() and we're off to the races.

So this fixes that. FWIW, my (short) LevelDB integration test now works nicely:
```
benchmark                                   old ns/op      new ns/op     delta
BenchmarkNamePredicate                      3711980        3762244       +1.35%
BenchmarkLargeSetsNoIntersection            1053716200     359610220     -65.87%
BenchmarkNetAndSpeed                        118463512      43387005      -63.38%
BenchmarkKeanuAndNet                        36273657       29388081      -18.98%
BenchmarkKeanuAndSpeed                      53150229       36212122      -31.87%
```

Which are probably more realistic numbers than the memstore ones. But still a good thing overall!