added files for first task
added iterator for halfedges for faces, extracted abstract superclass