ENH: Resolve circular dependencies by moving pos functions to graph.py.
ENH: Removing NoPositionException from graph.py

This simplifies the interface of AdjacencyList. Graph functions will now always raise a NoPathException if no path can be constructed, no matter if the positions were valid or not.
Valid positions can easily be checked with `pos in adjacency_list`, so this should not be a problem in general.