GraphPatterns monad hides the list and anomaly

Probably not a very efficient implementation.
Support Both EdgeDirection; code movement
Update GraphOfTheGods example