Added tree recognition functionality
Removed the useless self_loop check and improved formatting
The is_tree() function has been correpted to check the "directness" of the input graph
with the appropriate is_directed() function.

With this change, graph of the class MultiGraph can be correctly recognised as tree too.
The test suite has been modified accordingly
Added forest recognition functionality and added tests for it.
Slightly modified the is_tree() function.
BUG: fix test_read_LEDA on windows.
Rename trees->tree
Handle corner cases.

Simplify logic using not_implemented_for()
Recognize pointless concept
Rename tree_recognition->recognition
Add docs
Use io.BytesIO() instead of temporary file
Merge pull request #2 from hagberg/markusian-trees_forests_recognition

Markusian trees forests recognition
Fix imports to match trees->tree rename
Merge pull request #3 from hagberg/markusian-trees_forests_recognition

Markusian trees forests recognition
Merge pull request #925 from markusian/trees_forests_recognition

Added tree recognition functionality
Correct docstrings for pylab drawing. Fixes #954.
Merge pull request #954 from chebee7i/fix_docstring

Fix documentation for draw_networkx_edge_labels and others regarding 'pos' argument.
Update docstring for `average_degree_connectivity`.
Merge pull request #953 from chebee7i/knn
Allow a blank name when reading Pajek files.
Merge pull request #952 from chebee7i/pajek_952

read_pajek() shouldn't require network name