Merge pull request #6 from jefrailey/heap

Heap
Add test_simple_graph.py and simple_graph.py with test_nodes_empty() to assert that a graph is initialized without nodes
Update test_nodes_empty() to account for AttributeError; update simple_graph with Graph()
Revise Graph() to initialize with emtpy lists to contain nodes and edges instead of setting them to None
Update tests to account for the new initalization of Graphs
Revise Graph() to hold edges and nodes in a list since we decided that edges and nodes will be instances of class objects
Revies tests to account for new Graph() structure
Add tests for initalizing nodes, adding nodes to a graph, and adding edges to a graph
Add Node and Edge classes
Add Graph.add_node() to instantiate nodes and add them to the graph
Revise (yet again) the internal representation of nodes and edges--they're strings/tuples in a set
Update tests based on changes to simple_graph.py
Add tests for .del_node() and .del_edge()
Add del_node() and del_edge() to Graph()
Add test_has_node() to test if a node exists in the graph
Add Graph.has_node() to indicate whether or not a node is in the graph
Add test_adj and test_neighbors
Add Graph.adjacent() to determine if two nodes are adjacent; add Graph.neighbors to show a node's neighbors
Update ReadMe with Graph Object and its Methods
Fixed formatting for graph