More documentation of new features in CHANGE.
Update and start testing rewrite-in-type code.
Code cleaning & factorizing functions in Equality.
Add more regression tests for univ poly/prim proj

hese regression tests are aggregated from the various bugs I (and
others) have reported on https://github.com/HoTT/coq/issues relating to
universe polymorphism, primitive projections, and eta for records.

These are the tests that trunk currently fails.

I'm not sure about the naming scheme (HoTT_coq_###.v, where ### is the
number of the issue in GitHub), but I couldn't think of a better one.
Move opened bugs to bugs/opened
Add appropriate Fail(s) to opened bugs

The contract is that a file in bugs/opened should not raise errors if
the bug is still open.

Some of them fail for different reasons than they used to; I'm not sure
what to do about these.
Eliminating a potentially quadratic behaviour in Require, by using maps
instead of lists to test if a library has already been encountered.
Using Maps to handle imports in Safe_typing. The order is irrelevant indeed,
and the lookup operation proved to be costly when dealing with big libraries.
Fixing the undocumented -dumpgraphbox option of coqdep.
Adding the possibility for ML modules to declare functions to be called at
caching time, i.e. when the Declare ML Module command is evaluated. This can
be used by both static and dynamic plugins.
Plugin names must be declared in the header of .ml4 file, be they static or
dynamic. This is done with the "DECLARE PLUGIN \"name\"" macro.
Moving the ML tactic extension mechanism to a Libobject-based one.
Now parsing rules of ML-declared tactics are only made available after the
corresponding Declare ML Module command. This changes essentially two
things:

1. ML plugins are forced to use the DECLARE PLUGIN statement before any
TACTIC EXTEND statement. The plugin name must be exactly the string passed to
the Declare ML Module command.

2. ML tactics are only made available after the Coq module that does the
corresponding Declare ML Module is imported. This may break a few things,
as it already broke quite some uses of omega in the stdlib.