Added the function to calculate transfer functions.

Got the following results.  Tomorrow, I will make the data structures smaller.

1 move  - processing on 12 functions in < 1 second
2 moves - processing on 126  functions in < 1 second
3 moves - processing on 15072 functions in 7 seconds
4 moves - processing on 170064 functions in 84 seconds
5 moves - processing on 1923783 functions in 18.2 minutes.

After 6 moves deep:
RubixCube.exe was consuming 1.4GB of ram
the stored non-duplicate functions was 2,110,389
so there are more than 2 million positions of the cube at only 6 moves deep.
Regrettably, my algorithm had only found 128,895 duplicates at this point.

I don't think 6 moves deep is enough to solve the cube consistently.  We need 20 moves deep for the god solution.  I haven't started the brute force algorithms yet, but I think even then we're only about 10 moves deep.  That probably is enough to solve the cube, but it probably won't be fast.