Added group properties of eq_refl, eq_sym, eq_trans

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16413 85f007b7-540e-0410-9357-904b9bb8a0f7
Like in r16346, do not filter local definitions (here in the
type-based second-order unification algorithm).

In type-based second-order unification algorithm, protect local
definitions in instances of evars to wrongly be considered as
potentially flexible.

Altogether, this fixes the anomaly in #3003 (even if some additional
work has to be done to improve the resulting error message, see next
commit).

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16414 85f007b7-540e-0410-9357-904b9bb8a0f7
Improving error message in explain_cannot_find_well_typed_abstraction:
make head bound variables distinct from the variables in environment,
so that the naming scheme is the same when, say, printing "fun x:B => foo x"
in environment "x:A" (main error with explicit "fun") and when
printing (secondary error in the "reason" message) "foo x" in
environment "x:A, x:B" (i.e. with "fun" discharged in environment).

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16415 85f007b7-540e-0410-9357-904b9bb8a0f7
Using Parameter instead of Variable in test-suite/output

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16417 85f007b7-540e-0410-9357-904b9bb8a0f7