updated Face and Edge constructors to take an array of vertices and an array of indices (into those vertices)
added generateEdges method to Mesh which finds shared indices between all pairs of faces and creates an edge of the faces share two vertices