Linear Algebra Directed Clustering

This PR adds a clustering coefficient measure for directed graph.  Currently, this PR uses the adjacency matrix representation to calculate clustering coefficient, and as such, it leverages numpy to do all the calculations and sits in the linear algebra module.  Using numpy, it's possible to write the formula in a manner very similar to that used in the original reference.

I also added two tests to show that in the undirected case, the module gives the same answer as the clustering coefficient function already present in networkx.

Possible improvements to this PR include the use of sparse matrix throughout, which however would preclude the use of syntax mirroring that of the paper.
In scipy I think they'd use something like `_linalg_clustering.py` as a private module name not intended to be imported by networkx users, and then call the function `linalg_clustering`.  The function would be added to `__all__` in `_linalg_clustering.py`, and in a shallower level of the package for example in `networkx/linalg/__init__.py` it would be imported like `from ._linalg_clustering import *` and exposed like `__all__ = [s for s in dir() if not s.startswith('_')]`.  I'm not necessarily suggesting doing it this way in networkx, just saying how it works in other projects.