Reworked edge.clj to use v1/v2 instead of u and v so that v doesn't get smashed as a namespace. Found an error in the test suite and updated it to work correctly. Simplified code where I could.