Fixed a memory leak if your undo command throws an exception. Before this the
memory would be lost unless you were guarding for exceptions yourself. Now
your command's Do() function is guarded by default when you push it on the stack