Now collecting formal generics in some canonical order

Previously the formal generics of a signature have been collected
by name and put into a set of names. Therefore the sequence of
the formal generics in the list depended on the lexical order of
the names.

Now the formal generics are collected by cumulating them into a list
during the traversal of all types in the signature in the order in
which they appear. E.g. in the signature

    A: ANY;  B: LINEAR_ORDER
    (a:C[B,A]): NATURAL

the formal generics are collected as the sequence [B,A].

Furthermore the paths in types (e.g. 'lib.mdl.SOME_CLASS') are represented
as list of names. An empty path is represented by the empty list.

	modified:   ocaml/class_table.ml
	modified:   ocaml/class_table.mli
	modified:   ocaml/context.ml
	modified:   ocaml/parser.mly
	modified:   ocaml/support.ml
Added each class to its set of ancestors

i.e. each class is an ancestor of itself.

	modified:   ocaml/class_table.ml