Non edges enumeration

Here is the implementation of non-existent edges enumeration as discussed in #1117. With this, one can perform link prediction algorithm to a graph by something like:

```python
import networkx as nx

def linkpred(graph):
    for (u, v) in nx.non_edges(graph):
        p = nx.common_neighbors(graph, u, v)
        yield (u, v, p)
```

Please let me know what you think.