Fix normalized laplacian when the graph contains selfloops.

When G contains selfloops, the normalized laplacian is defined as NL = D^{-1/2}
(D - A) D^{-1/2}, with A the adjencency matrix and D a diagonal matrix with the
sum of the rows of A in the diagonal. The current NetworkX implementation use D
with the degree of the nodes in the diagonal, which count selfloops twice (this
is the right convension in general, but not the correct one for computing the
normalized laplacian).
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
Remove from __future__ import.
Add test and fix normalized laplacian for multigraphs.
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.
Adapt ipython's script for testing PR. See ipython/tools
Merge branch 'master' of git://github.com/networkx/networkx into directed_laplacian
Report missing libraries during tests and number of skipped and passed tests
Add PyPy support. Needs work: In Debian/Ubuntu it is necessary to explicitly add the dist-packages path under /usr/local to import nose
Add a try/except clause when checking that the right nx is imported. So we catch the exception if the pull request breaks 'import networkx as nx'
pipe STDERR to STDOUT when installing NX so its output is also written to the log, see #753 .
Fix error when PYTHONPATH not defined.