Prove the eta rule for sigmas from a more general prinicple

Also, rename it to half_eta, because it says
  match u as u' return P u' with
    | (a; b) => (a; b)
  end
  ==
  u
rather than
  (match u as u' return A with
     | (a; b) => a
   end;
   match u as u' return P (match u' with (a; b) => a end) with
     | (a; b) => b
   end)
  ==
  u
which is the proper eta rule.  (More concisely, this is (u.1; u.2) == u.)
10% speedup by shortcircuiting shift-by-zero
When term equivalence fails, simplify and retry
Merge pull request #21 from JasonGross/prove-sigma-eta

Prove the eta rule for sigmas from a more general prinicple
Jason's pull requests.
Undid accidental change to inputTT.ml
Merge branch 'master' of https://github.com/andrejbauer/tt
Merge branch 'master' into compute-equation
Updated tt for brazil changes