Simplified methods for adding nodes into graphs.

There are too many layers than necessary for adding nodes in a graph. Also, the
add_nodes function now has a default implementation since it can be done relying
only on the interface of the Graph class, without making assumptions about its
inner workings.
Adding implementation for AdjacencyMatrix.

Adding functions add_node and get_indegree. Let it be known that I think the
textbook adjacency matrix is terrible for dynamic graphs (i.e., graphs wherein
you add nodes as you use the structure).