Added Shred.orientaiton implementation
Restructured INode
Implemented Representative, Mirroring and Edges

Representative a.k.a the root of the binary tree is implemented
by repeatedly setting the root all the children to topmost node

Cluster -> Split into 2 parts Cluster.INode.cs where the INODE
implementation lies and another (currently empy) cluster file where
other implementation can go.

Edge -> An edge is a property of a Shred and represents a physical
edge and direction of scan.

Enumeration ->  A static class for convenient Enumeration manipulation

Shred.INODE -> Implemented Size/Representative/Edges there too

TESTS STILL TO COME!