Add directed laplacian matrix.

Code based on
https://bitbucket.org/bedwards/networkx-community/src/370bd69fc02f/networkx/algorithms/community/

I refactored Ben Edwards code to one function. This matchs the format of the
other functions in the file and allows to import numpy inside the function.
Fix test_laplacian.py name.
Add preliminary test.
Add new module for flow based connectivity and cut algorithms
Fix doctests and python twoisms for the new connectivity module
Fix error in pagerank matrix.
Check alpha is between 0 and 1
Add test for directed laplacian.
Add tests for random and lazy walk.
Remove print statement.
Merge branch 'master' of git://github.com/networkx/networkx into directed_laplacian
Use require and not_implemented_for decorators.
Add Robins and Alexander bipartite clustering
Rename 'stack' to 'queue' in BFS for clarity
Add ancestor and descendant functions for DAGs

Ancestors are all nodes from which you can reach the source node.
Descendants are all nodes reachable from the source node. Both are
defined only in DAGs.
Make check for DAG optional in descendants algo

When searching for descendants many times, it is cumbersome to check
each time whether the graph is a DAG. Therefore, this check can now
be disabled by a keyword argument.
Improve performance of descendants and ancestors

The `descendants` function for DAGs was slow because it performed a
check of whether the input graph was a DAG. This is now off by default.

In addition, the inverse function, `ancestors`, would previously
reverse the entire graph to find ancestors using BFS. A modification
to the `bfs_edges()` function allows reversing the BFS itself, avoiding
the cost of the full graph reversal.
Refactor functions to use faster nx.shortest_path_length
Fix conflicts.
Add directed laplacian matrix.

Code based on
https://bitbucket.org/bedwards/networkx-community/src/370bd69fc02f/networkx/algorithms/community/

I refactored Ben Edwards code to one function. This matchs the format of the
other functions in the file and allows to import numpy inside the function.