Edges now take an arguments object, with one required attribute, nodes.

Adjusted other classes with this change in mind. Adjusted specs, specs
all pass.
Adds error checking for redesigned edges.

Adds tests for this error checking.
Slight tweak to edge constructor.
Changes description of edge data type to fit changes...

... in edge constructor.