Fix bug in exception handling.

The reachability calculator didn't handle try/catch
properly, leading to the endtry being dropped.
This instruction just generates a closing }
for the final catch clause. Without it, the next
function definition is considered nested in
the previous one.

We have a new non-returning function

  gen throw[ret,exn] : exn -> any

which throw a value of type exn in a context where
a value of type ret is required. Ret must be given
explicitly, cannot be void, and must agree with
the context. Felix does not check this, but a wrong
context type will lead to a C++ error. The procedural
version of this is

  gen raise[exn] : exn -> any

which has type void in C++, and is just a throw.

Also in this commit add some makefile targets for
building parts of Felix, using the new Felix based
builder.