Remove a useless assertion.
Fix the "bootstrap" process.
Also distribute the autoload file.
Further refinements for the local vs system setups.
Update the README
Change use_menhir to menhir.
Restructure our ocamlbuild plugin to make it composable.
Simplify the _tags file.
Update TAGS
Add a -print-config option.
Also package .mz files for the interpreter.
Improve the -explain command-line flag.
Small tweaks for error reporting.

The explain feature for merge constructs now highlights exclusive resource
allocation conflicts.
Better graphical error messages for merges.

Highlight all points that are involved in an exclusive resource allocation
conflict, in the generated html.

Invoke with -explain html, and annotate with

  match explain

or:

  if explain
Better error messages for simple situations.

Sample below.

Here's a tentatively short error message.
Could not obtain the following permission:
  x @ state_a
because all we have is:
  x @ state_b
Variable x is defined as follows.
File "tmp/test.mz", line 18, characters 6-8:

  let x = mk_a () in
      ^^
Further tweaks to the new error messages.

Here's a tentatively short error message.
File "tmp/test.mz", line 3, characters 6-7:

Could not obtain the following permission:
  /x_47 @ =x*, =y*
because all we have is:
  /x_47 @ int::int

Variable /x_47 is defined as follows.
File "tmp/test.mz", line 3, characters 6-7:

  add 1 2
      ^
More tweaks to the new error reporting logic.

When no rule was applicable in a branch, and other branches agree on the same
cause for failure, keep the latter explanation as the "human-readable" reason
for failure.
Improve other error messages too.

Many error messages now include a summary about the variable involved in the
error: definition, available permissions.
Simplify heuristics and just use a score function.
Minor improvement to error messages.