Prepare the 'objectlib' package to be separated into a library module
Refactoring: split the 'objects' package into two, 'objects' and 'objectlib'.The point: we're going to need to move the 'objectlib' stuff into its own library module, and that's because we're going to create a new app module which needs access to it.
Introduce abstract 4,6,8 adn 12 classes.
Make object scrambling abstract (well, almost - with exception of Square-1 - this theoretically could also be done the generic way, but this would require almost 20000 'ScrambleStates')
Remove statics from the Bandaged Cube classes.
Introduce pseudorandom balancing into scrambling in case of the two Dinos (from now on, the more times a particular (ax,layer) combination has been chosen already in the scrambling sequence, the less likely it is to be chosen next).Fix Dino6 - isSolved(). Sadly, it cannot be the geeneric function - it needs to be another special case.
Convert Skewb Ultimate, Jing Pyraminx & Ivy Cube to the new, unified scrambling method.
Unify scrambling across all 4 bandaged objects.
Preparation for 'smart scrambling' : introduce the total number of scrambles to the 'randomizeNewScramble' function.
Hide more stuff in the TwistyObject class.
Remove the need for RowChances.
Simplify.
Convert the first object, the Cube, to the new Cubit-creating engine.
Simplify the 'bandaged' class API.
Refactor the automatic scrambling. From now on, it is not needed to care about single and double turns when randomizing a new turn.
Minor
Change the automatic scramble API in the TwistyObject - in preparation for automatic scrambles in the Bandaged Objects.
Bandaged objects: first step making automatic scrambling work.
Progress with bandaged objects.
Progress with bandaged cubes.
Beginnings of support for bandaged versions of the 3x3 cube.