Refactor graph.erl & Add demo functions

* add_edge properly adds 1 edge to directed graphs
and 2 edges to undirected graphs
* Add demo for loading graphs from files with the
default syntax & with custom vertices
* Add demo for manually creating a graph