Phase 1 - Representing, Transforming, and Scrambling a Rubik's Cube

This section will be developed linearly, and will explore the following thoughts:

At the end of Phase 1, we have a basic Rubik's Cube ready to play with, and begin writing a solver for.
Once this project is more along the way, the contents of the project associated with this phase can become a NuGet package for general usage.