[Finishes #74059246] Finish step before allowing next step

Attempt to make maze animation/stepping code a little clearer while also making sure we disable the step button while we're animating a step.  I'm not entirely convinced I made the code clearer, so do let me know if/what is still confusing.

Important scenarios I've tested:
(1) Solution with infinite loop (we still animate correctly with stepSpeed 0).
(2) Standard solution success/failure
(3) Step mode success/failure and can't step before finishing last step.
Maybe double check in IE9, [second argument may be required](http://msdn.microsoft.com/en-us/library/wctc5k7s%28v=VS.85%29.aspx)