Fix a bug in the tableaux code.

tableau_expand() modifies the branch it is given, but in doing so it modifies
the original tableau. This causes the new_tab == tab comparison in tableau_do()
spuriously succeeds. As a result, False is returned for some tautologies.

The most obvious fix is to have tableau_expand() copy the branch before
modifying it, but perhaps we should rewrite the whole function.