Added optimization to check if the new cell creates a partition since each of
the "partition check for end" calls are expensive.  We get about a 2x savings
with the check, but we still need to cut down the maze creation time...

    opt         no partition creation check
25:  0m0.653s   0m0.867s
30:  0m1.562s   0m3.522s
35:  0m3.088s   0m6.959s
40:  0m7.759s   0m25.372s
45: 0m43.398s   1m17.381s
50: 0m42.001s   ...