add ability to enter cube by colors

Although relative notation (up, front, etc) is obviously best for many purposes, it might not be the easiest way to enter the state of a cube (especially for people new to this stuff). Here's a class which lets you read off the colors of your cube and construct a Cube object from that (then you can get out everything the usual notation).

There's a bit of documentation in a comment at the top of the source, although the ideal documentation would have some drawings showing what order the faces are supposed to be listed.