Handler-case implementation (match syntax).
Static exceptions can exit try...with blocks.  Currently works only in bytecode.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/static_exceptions@13222 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02

Conflicts:
	typing/typecore.ml
Static exceptions can now escape try blocks also in native code.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/static_exceptions@13223 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02

Conflicts:
	typing/typecore.ml
Add support for the combination of tuple matches and exception clauses.

Code like the following no longer allocates a block for the scrutinee
expressions:

   match x, y with
     | A p, false  -> e1
     | B p, true   -> e2
     | _           -> e3
     | exception E -> e4
Refactor 'match' compilation.
Test suite for handler-case.
Use val cases, not exn cases, to approximate the type of a match.
Remove the unused function Pprintast.is_irrefut_patt.
Extend the pattern algebra rather than the Pexp_match constructor.